Skip to main content
← All vulnerabilities
CVE-2024-35815

fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion

Published
Last modified
published
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
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

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. 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