{"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"}}}}