264 lines
14 KiB
JSON
264 lines
14 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-68466",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-07-30T09:28:09.396Z",
|
|
"datePublished": "2026-08-15T05:51:25.212Z",
|
|
"dateUpdated": "2026-08-17T05:39:10.682Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-17T05:39:10.682Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: rawnand: lpc32xx_slc: fail DMA transfer on completion timeout\n\nlpc32xx_xmit_dma() waits for the DMA completion callback but ignores\nwait_for_completion_timeout(). A timed out DMA transfer is therefore\nunmapped and reported as successful to the NAND read/write path.\n\nReturn -ETIMEDOUT when the completion wait expires. Terminate the DMA\nchannel before unmapping the scatterlist so the timed out transfer cannot\ncontinue to access the buffer after the error is returned."
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
|
|
"baseScore": 8.8,
|
|
"baseSeverity": "HIGH"
|
|
},
|
|
"scenarios": [
|
|
{
|
|
"lang": "en",
|
|
"value": "AV:L - The lpc32xx SLC NAND driver is only exercised through local kernel storage entry points—read/write/ioctl on /dev/mtd* or mtdblock, VFS access to flash-backed mounts (UBIFS/JFFS2/squashfs), or in-kernel mtd_read/mtd_write callers—not via any network packet or remote protocol handler.\nAC:L - An attacker with flash access can repeatedly issue MTD or filesystem read/write operations to stress the NAND controller and DMA engine, hunting for completion timeouts; they control I/O timing and can retry without depending on rare victim-only state beyond issuing local storage traffic.\nPR:L - Unprivileged local users on typical LPC32xx embedded systems can reach the vulnerable DMA path by reading executables or files from flash-backed root filesystems or world-readable mtdblock nodes; root-only /dev/mtd access is not required for the read path through lpc32xx_nand_read_page_syndrome.\nUI:N - Exploitation requires only attacker-initiated storage I/O against the NAND-backed device or mounted filesystem; no victim interaction such as plugging media, approving dialogs, or opening attacker-supplied content is needed.\nS:C - On DMA timeout the driver unmaps the scatterlist while in-flight DMA may continue, allowing the NAND DMA engine to access physical pages reused for unrelated kernel objects—crossing the intended DMA buffer security boundary of the driver.\nC:H - Continued DEV_TO_MEM DMA after dma_unmap_sg can write into repurposed physical pages and leak their prior contents upward; falsely reporting success also returns incomplete or attacker-influenced NAND page data, and post-unmap DMA enables arbitrary kernel memory disclosure via controlled page reuse.\nI:H - In-flight DMA after dma_unmap_sg provides a DMA-after-free style write primitive that can corrupt adjacent kernel heap or stack objects, enabling control-flow hijacking and privilege escalation beyond the intended NAND transfer buffer.\nA:H - DMA-after-unmap corruption commonly provokes kernel oops, panic, or hang; falsely successful timed-out writes can also corrupt flash contents or filesystem metadata on industrial LPC32xx appliances, causing sustained denial of service or device bricking."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/mtd/nand/raw/lpc32xx_slc.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "307e4f4c1d4e1575b3495ecc6e41aa2adc40f491",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "c367af37ce7238c96c6071337149099467160746",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "623c4d8e740debb4af28981e3d4e209f9d0260a4",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "bd4a622786f92e1f183f7557ab89dd32891cef60",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "8f5c3ee53a5dc1a0f7cfd780485f2c8b5d17f91d",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "cf7258f57d18026b8f77c0e80ff1805e9caf7250",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "cb2031f8b226efbd13735c07b075e5f14ec11f6d",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "2944a44da09e46b6db2fd2c3334f242b09e05c43",
|
|
"lessThan": "17a8ce84964f243c8f89dc7353ac7e8d3137bc74",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/mtd/nand/raw/lpc32xx_slc.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "3.7",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "3.7",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.10.261",
|
|
"lessThanOrEqual": "5.10.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.15.212",
|
|
"lessThanOrEqual": "5.15.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.1.178",
|
|
"lessThanOrEqual": "6.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.6.145",
|
|
"lessThanOrEqual": "6.6.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.12.97",
|
|
"lessThanOrEqual": "6.12.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.18.40",
|
|
"lessThanOrEqual": "6.18.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.1.5",
|
|
"lessThanOrEqual": "7.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.2",
|
|
"lessThanOrEqual": "*",
|
|
"status": "unaffected",
|
|
"versionType": "original_commit_for_fix"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"cpeApplicability": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "5.10.261"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "5.15.212"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "6.1.178"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "6.6.145"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "6.12.97"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "6.18.40"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "7.1.5"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "3.7",
|
|
"versionEndExcluding": "7.2"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/307e4f4c1d4e1575b3495ecc6e41aa2adc40f491"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/c367af37ce7238c96c6071337149099467160746"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/623c4d8e740debb4af28981e3d4e209f9d0260a4"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/bd4a622786f92e1f183f7557ab89dd32891cef60"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/8f5c3ee53a5dc1a0f7cfd780485f2c8b5d17f91d"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/cf7258f57d18026b8f77c0e80ff1805e9caf7250"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/cb2031f8b226efbd13735c07b075e5f14ec11f6d"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/17a8ce84964f243c8f89dc7353ac7e8d3137bc74"
|
|
}
|
|
],
|
|
"title": "mtd: rawnand: lpc32xx_slc: fail DMA transfer on completion timeout",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |