{"id":"CVE-2026-23434","state":"PUBLISHED","title":"mtd: rawnand: serialize lock/unlock against other NAND operations","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: rawnand: serialize lock/unlock against other NAND operations\n\nnand_lock() and nand_unlock() call into chip->ops.lock_area/unlock_area\nwithout holding the NAND device lock. On controllers that implement\nSET_FEATURES via multiple low-level PIO commands, these can race with\nconcurrent UBI/UBIFS background erase/write operations that hold the\ndevice lock, resulting in cmd_pending conflicts on the NAND controller.\n\nAdd nand_get_device()/nand_release_device() around the lock/unlock\noperations to serialize them against all other NAND controller access.","publishedAt":"2026-04-03T15:15:19.450Z","updatedAt":"2026-10-19T18:35:43.464Z","severity":{"score":7.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"28ea836cc44cb8b89c1c174707ead0c1133c60e9","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"fe4a73c3dd48308149d57a10c2761e1d36ced7ba","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"ce5229e78078e437704157eb542f43a6f83b429b","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"a80291e577b44593a724d6cd64c14337c78f194d","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"f71ce0ae5aefe39dd5b2f996c0e08550d2153ad2","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"5fd5c078af23cb353507aa522e09d557d7eaef04","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"f25446e2c28939753d3b62d34dfda49952b2557d","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"bab2bc6e850a697a23b9e5f0e21bb8c187615e95","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/mtd/nand/raw/nand_base.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.7","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.20","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.10","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/mtd/nand/raw/nand_base.c"]}],"references":["https://git.kernel.org/stable/c/28ea836cc44cb8b89c1c174707ead0c1133c60e9","https://git.kernel.org/stable/c/fe4a73c3dd48308149d57a10c2761e1d36ced7ba","https://git.kernel.org/stable/c/ce5229e78078e437704157eb542f43a6f83b429b","https://git.kernel.org/stable/c/a80291e577b44593a724d6cd64c14337c78f194d","https://git.kernel.org/stable/c/f71ce0ae5aefe39dd5b2f996c0e08550d2153ad2","https://git.kernel.org/stable/c/5fd5c078af23cb353507aa522e09d557d7eaef04","https://git.kernel.org/stable/c/f25446e2c28939753d3b62d34dfda49952b2557d","https://git.kernel.org/stable/c/bab2bc6e850a697a23b9e5f0e21bb8c187615e95","https://cert-portal.siemens.com/productcert/html/ssa-082556.html","https://cert-portal.siemens.com/productcert/html/ssa-019113.html","https://cert-portal.siemens.com/productcert/html/ssa-457936.html"],"weaknesses":["CWE-362"],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/23xxx/CVE-2026-23434.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23434","state":"PUBLISHED","datePublished":"2026-04-03T15:15:19.450Z","dateUpdated":"2026-10-19T18:35:43.464Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-01-13T15:37:46.016Z"},"containers":{"cna":{"title":"mtd: rawnand: serialize lock/unlock against other NAND operations","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmtd: rawnand: serialize lock/unlock against other NAND operations\n\nnand_lock() and nand_unlock() call into chip->ops.lock_area/unlock_area\nwithout holding the NAND device lock. On controllers that implement\nSET_FEATURES via multiple low-level PIO commands, these can race with\nconcurrent UBI/UBIFS background erase/write operations that hold the\ndevice lock, resulting in cmd_pending conflicts on the NAND controller.\n\nAdd nand_get_device()/nand_release_device() around the lock/unlock\noperations to serialize them against all other NAND controller access."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"28ea836cc44cb8b89c1c174707ead0c1133c60e9","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"fe4a73c3dd48308149d57a10c2761e1d36ced7ba","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"ce5229e78078e437704157eb542f43a6f83b429b","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"a80291e577b44593a724d6cd64c14337c78f194d","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"f71ce0ae5aefe39dd5b2f996c0e08550d2153ad2","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"5fd5c078af23cb353507aa522e09d557d7eaef04","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"f25446e2c28939753d3b62d34dfda49952b2557d","versionType":"git"},{"version":"92270086b7e5ada7ab381c06cc3da2e95ed17088","status":"affected","lessThan":"bab2bc6e850a697a23b9e5f0e21bb8c187615e95","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/mtd/nand/raw/nand_base.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.7","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.20","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.10","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/mtd/nand/raw/nand_base.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/28ea836cc44cb8b89c1c174707ead0c1133c60e9"},{"url":"https://git.kernel.org/stable/c/fe4a73c3dd48308149d57a10c2761e1d36ced7ba"},{"url":"https://git.kernel.org/stable/c/ce5229e78078e437704157eb542f43a6f83b429b"},{"url":"https://git.kernel.org/stable/c/a80291e577b44593a724d6cd64c14337c78f194d"},{"url":"https://git.kernel.org/stable/c/f71ce0ae5aefe39dd5b2f996c0e08550d2153ad2"},{"url":"https://git.kernel.org/stable/c/5fd5c078af23cb353507aa522e09d557d7eaef04"},{"url":"https://git.kernel.org/stable/c/f25446e2c28939753d3b62d34dfda49952b2557d"},{"url":"https://git.kernel.org/stable/c/bab2bc6e850a697a23b9e5f0e21bb8c187615e95"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable path is reached through local MTD character-device ioctls such as MEMLOCK/MEMUNLOCK on /dev/mtdX, not by network packets or physical hotplug alone.\nAC:L - The attacker can repeatedly issue lock/unlock ioctls while inducing concurrent UBI/UBIFS writes or erase work, so the race is under attacker influence and can be retried.\nPR:L - The kernel path requires write access to the MTD character device but performs no capable() check beyond FMODE_WRITE; when uncertain between device-permission-dependent low and high privilege, the higher-severity PR:L is appropriate.\nUI:N - No victim action is required once the attacker has local access to the relevant MTD device and can trigger concurrent operations.\nS:U - The impact remains within the same kernel/device security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:N - The bug is a missing NAND controller serialization lock causing command-state races, with no evident kernel memory disclosure or arbitrary read primitive.\nI:H - The race can interleave lock/unlock SET_FEATURES with NAND erase/write operations, plausibly corrupting persistent flash contents or protection state; under the required uncertainty rule, this is scored as high integrity impact.\nA:H - On affected controllers such as brcmnand, the race can hit cmd_pending conflicts and BUG_ON paths, causing a kernel crash or severe storage subsystem failure."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:21:44.508Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.18.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.19.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.6","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.5","status":"affected","lessThan":"*","versionType":"custom"}]},{"vendor":"Siemens","product":"SIPLUS S7-1500 CPU 1518-4 PN/DP MFP","defaultStatus":"unknown","versions":[{"version":"V3.1.7","status":"affected","lessThan":"*","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-457936.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T01:14:57.029Z"},"x_adpType":"supplier"},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-23434","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:08:00.897129Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-362","lang":"en","type":"CWE","description":"CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T18:35:43.464Z"}}]}}}