md/raid10: reset read_slot when reusing r10bio for discard
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: md/raid10: reset read_slot when reusing r10bio for discard put_all_bios() always drops devs[i].bio, but it only drops devs[i].repl_bio when r10_bio->read_slot < 0. If discard reuses an r10bio that was previously used for a read, read_slot can still be non-negative, and discard cleanup can skip bio_put() on repl_bio. Reset read_slot to -1 when preparing an r10bio for discard so the replacement bio is always released correctly.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in 3cb2a606ce4902eceabe68338df0653312f861f8; From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in 561c9711e4f545d6464a023168bdee03b00fa945; From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in ce3030e92f14362880055de5fe3c258971118853; From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in 742e4afd247d9c972695227716b03d432a7e1d26; From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in b7313f23ea5a79b199a007bfad64a866cc2c22e7; From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in eb04e3e9c14ed15914f5fd2eae8b6435f54f095f; From d30588b2731fb01e1616cf16c3fe79a1443e29aa · fixed in 6b8a26af065ddc93de2aa5c9f0df98dce9723442
- Linux Linux
5.13
- KernelLinux
From 5.13.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5
References 7
git.kernel.org
- stable/c/3cb2a606ce4902eceabe68338df0653312f861f8
- stable/c/561c9711e4f545d6464a023168bdee03b00fa945
- stable/c/ce3030e92f14362880055de5fe3c258971118853
- stable/c/742e4afd247d9c972695227716b03d432a7e1d26
- stable/c/b7313f23ea5a79b199a007bfad64a866cc2c22e7
- stable/c/eb04e3e9c14ed15914f5fd2eae8b6435f54f095f
- stable/c/6b8a26af065ddc93de2aa5c9f0df98dce9723442