{"id":"CVE-2026-72440","state":"PUBLISHED","title":"md/raid1: fix writes_pending and barrier reference leaks on write failures","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmd/raid1: fix writes_pending and barrier reference leaks on write failures\n\nraid1_make_request() acquires a writes_pending reference with\nmd_write_start() before calling raid1_write_request(). Several failure\npaths in raid1_write_request() complete the bio and return without\nreaching the normal write completion path, causing the corresponding\nmd_write_end() to be skipped.\n\nMake raid1_write_request() return a status indicating whether the write\nrequest was successfully queued. This allows raid1_make_request() to\ncall md_write_end() when raid1_write_request() fails.\n\nAdditionally, if wait_blocked_rdev() fails after wait_barrier()\nsucceeds, the associated barrier reference is not released.\n\nCall allow_barrier() before returning from that path to keep the barrier\naccounting balanced.","publishedAt":"2026-08-15T05:56:52.662Z","updatedAt":"2026-10-30T12:29:25.252Z","severity":{"score":7.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"874f54243d881fde1890849000beb88a7880d1ec","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"921e2baa626d1504bf30295816aaeb90ac8c82f4","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"a846affa813013204d0cce0cfdaeb99e8fcce188","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"7a450460687919e79b5f8503bdeb13ecf4cca311","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"bffbbfcbd9393e315a7a4286dcd70e875265db9a","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"8e065a1602511282fc0da2dc89445e0eb71a681c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/md/raid1.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.17","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/md/raid1.c"]}],"references":["https://git.kernel.org/stable/c/874f54243d881fde1890849000beb88a7880d1ec","https://git.kernel.org/stable/c/921e2baa626d1504bf30295816aaeb90ac8c82f4","https://git.kernel.org/stable/c/a846affa813013204d0cce0cfdaeb99e8fcce188","https://git.kernel.org/stable/c/7a450460687919e79b5f8503bdeb13ecf4cca311","https://git.kernel.org/stable/c/bffbbfcbd9393e315a7a4286dcd70e875265db9a","https://git.kernel.org/stable/c/8e065a1602511282fc0da2dc89445e0eb71a681c"],"weaknesses":[],"ingestedAt":"2026-10-30T12:48:04.825Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72440.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72440","state":"PUBLISHED","datePublished":"2026-08-15T05:56:52.662Z","dateUpdated":"2026-10-30T12:29:25.252Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.930Z"},"containers":{"cna":{"title":"md/raid1: fix writes_pending and barrier reference leaks on write failures","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmd/raid1: fix writes_pending and barrier reference leaks on write failures\n\nraid1_make_request() acquires a writes_pending reference with\nmd_write_start() before calling raid1_write_request(). Several failure\npaths in raid1_write_request() complete the bio and return without\nreaching the normal write completion path, causing the corresponding\nmd_write_end() to be skipped.\n\nMake raid1_write_request() return a status indicating whether the write\nrequest was successfully queued. This allows raid1_make_request() to\ncall md_write_end() when raid1_write_request() fails.\n\nAdditionally, if wait_blocked_rdev() fails after wait_barrier()\nsucceeds, the associated barrier reference is not released.\n\nCall allow_barrier() before returning from that path to keep the barrier\naccounting balanced."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"874f54243d881fde1890849000beb88a7880d1ec","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"921e2baa626d1504bf30295816aaeb90ac8c82f4","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"a846affa813013204d0cce0cfdaeb99e8fcce188","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"7a450460687919e79b5f8503bdeb13ecf4cca311","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"bffbbfcbd9393e315a7a4286dcd70e875265db9a","versionType":"git"},{"version":"5aa705039c4fca84575539bfa2b8a28454a3d2ca","status":"affected","lessThan":"8e065a1602511282fc0da2dc89445e0eb71a681c","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/md/raid1.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.17","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.114","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/md/raid1.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/874f54243d881fde1890849000beb88a7880d1ec"},{"url":"https://git.kernel.org/stable/c/921e2baa626d1504bf30295816aaeb90ac8c82f4"},{"url":"https://git.kernel.org/stable/c/a846affa813013204d0cce0cfdaeb99e8fcce188"},{"url":"https://git.kernel.org/stable/c/7a450460687919e79b5f8503bdeb13ecf4cca311"},{"url":"https://git.kernel.org/stable/c/bffbbfcbd9393e315a7a4286dcd70e875265db9a"},{"url":"https://git.kernel.org/stable/c/8e065a1602511282fc0da2dc89445e0eb71a681c"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The bug is in md/raid1 write handling reached via block-layer writes to RAID1-backed volumes; on storage servers and appliances, remote NFS, SMB (ksmbd), iSCSI, and NVMe-oF clients submit those writes through md_submit_bio() to raid1_make_request() the same as local I/O.\nAC:L - An attacker with write access can reliably trigger the leaks using RWF_NOWAIT during active resync/barriers, against mirrors in BlockedBadBlocks state after prior write errors, or via bio_submit_split_bioset() failure paths; they control I/O timing and concurrency without uncontrollable races.\nPR:L - Exploitation requires only the ability to issue writes to the RAID1 array—via a mounted filesystem, O_RDWR on /dev/mdX, or an authenticated network storage client—not CAP_SYS_ADMIN or other privileges needed to create or reconfigure the md array.\nUI:N - No victim interaction is required; the attacker or their storage client issues the triggering RWF_NOWAIT or failing write requests directly, with no separate mount, file open, or administrator action needed at exploitation time.\nS:U - Impact is confined to kernel md RAID1 write/barrier accounting and array lifecycle state within the same host kernel; it does not cross VM, container, or IOMMU security boundaries.\nC:N - Leaked writes_pending and nr_pending reference counters do not corrupt memory, read out of bounds, or use-after-free; there is no kernel pointer leak or arbitrary memory disclosure primitive.\nI:L - Skipped md_write_end() on failure paths leaves writes_pending inflated and prevents set_in_sync()/clean sysfs transitions, causing persistent incorrect RAID1 dirty/clean metadata state that cannot be corrected until reboot.\nA:H - Leaked conf->nr_pending from the wait_blocked_rdev()+REQ_NOWAIT path inflates get_unqueued_pending() so freeze_array() wait_event never completes, deadlocking array quiesce, reshape, removal, and read-error recovery while array_frozen blocks new I/O."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:29:25.252Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.12.114"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.18.57"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-72440","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T18:50:04.662710Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:55:24.375Z"}}]}}}