fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion
- 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 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, and 2 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: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion The first kiocb_set_cancel_fn() argument may point at a struct kiocb that is not embedded inside struct aio_kiocb. With the current code, depending on the compiler, the req->ki_ctx read happens either before the IOCB_AIO_RW test or after that test. Move the req->ki_ctx read such that it is guaranteed that the IOCB_AIO_RW test happens first.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 337b543e274fe7a8f47df3c8293cc6686ffa620f · fixed in 10ca82aff58434e122c7c757cf0497c335f993f3; From b4eea7a05ee0ab5ab0514421e6ba8c5d249cf942 · fixed in 396dbbc18963648e9d1a4edbb55cfe08fa374d50; From ea1cd64d59f22d6d13f367d62ec6e27b9344695f · fixed in 94eb0293703ced580f05dfbe5a57da5931e9aee2; From d7b6fa97ec894edd02f64b83e5e72e1aa352f353 · fixed in a71cba07783abc76b547568b6452cd1dd9981410; From 18f614369def2a11a52f569fe0f910b199d13487 · fixed in 18d5fc3c16cc317bd0e5f5dabe0660df415cadb7; From e7e23fc5d5fe422827c9a43ecb579448f73876c7 · fixed in c01ed748847fe8b810d86efc229b9e6c7fafa01e; From 1dc7d74fe456944a9b1c57bd776280249f441ac6 · fixed in 5c43d0041e3a05c6c41c318b759fff16d2384596; From b820de741ae48ccf50dd95e297889c286ff4f760 · fixed in 961ebd120565cb60cebe21cb634fbc456022db4a
- Linux Linux
From 4.19.308 · fixed in 4.19.312; From 5.4.270 · fixed in 5.4.274; From 5.10.211 · fixed in 5.10.215; From 5.15.150 · fixed in 5.15.154; From 6.1.80 · fixed in 6.1.84; From 6.6.19 · fixed in 6.6.24; From 6.7.7 · fixed in 6.7.12
- KernelLinux
From 4.19.308 · fixed in 4.19.312; From 5.4.270 · fixed in 5.4.274; From 5.10.211 · fixed in 5.10.215; From 5.15.150 · fixed in 5.15.154; From 6.1.80 · fixed in 6.1.84; From 6.6.19 · fixed in 6.6.24; From 6.7.7 · fixed in 6.7.12
References 8
git.kernel.org
- stable/c/10ca82aff58434e122c7c757cf0497c335f993f3
- stable/c/396dbbc18963648e9d1a4edbb55cfe08fa374d50
- stable/c/94eb0293703ced580f05dfbe5a57da5931e9aee2
- stable/c/a71cba07783abc76b547568b6452cd1dd9981410
- stable/c/18d5fc3c16cc317bd0e5f5dabe0660df415cadb7
- stable/c/c01ed748847fe8b810d86efc229b9e6c7fafa01e
- stable/c/5c43d0041e3a05c6c41c318b759fff16d2384596
- stable/c/961ebd120565cb60cebe21cb634fbc456022db4a