What’s Vulnerable › Vulnerabilities
CVE-2024-35831: io_uring: Fix release of pinned pages when __io_uaddr_map fails
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-05-17 · updated 2026-06-17
- Weakness: CWE-401
Description
In the Linux kernel, the following vulnerability has been resolved: io_uring: Fix release of pinned pages when __io_uaddr_map fails Looking at the error path of __io_uaddr_map, if we fail after pinning the pages for any reasons, ret will be set to -EINVAL and the error handler won't properly release the pinned pages. I didn't manage to trigger it without forcing a failure, but it can happen in real life when memory is heavily fragmented.
Affected products
- Linux kernel: from 6.5.7 before 6.6; from 6.6.1 before 6.6.23; from 6.7 before 6.7.11; from 6.8 before 6.8.2; 6.6, 6.6-rc5, 6.6-rc6, 6.6-rc7 — fixed in 6.6, 6.6.23, 6.7.11, 6.8.2
How to fix
Upgrade to a fixed version: Linux kernel 6.6, 6.6.23, 6.7.11, 6.8.2. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/0b6f39c175ba5f0ef72bdb3b9d2a06ad78621d62
- https://git.kernel.org/stable/c/4d376d7ad62b6a8e8dfff56b559d9d275e5b9b3a
- https://git.kernel.org/stable/c/67d1189d1095d471ed7fa426c7e384a7140a5dd7
- https://git.kernel.org/stable/c/712e2c8415f55a4a4ddaa98a430b87f624109f69
- https://git.kernel.org/stable/c/0b6f39c175ba5f0ef72bdb3b9d2a06ad78621d62
- https://git.kernel.org/stable/c/4d376d7ad62b6a8e8dfff56b559d9d275e5b9b3a
- https://git.kernel.org/stable/c/67d1189d1095d471ed7fa426c7e384a7140a5dd7
- https://git.kernel.org/stable/c/712e2c8415f55a4a4ddaa98a430b87f624109f69
Get alerted when CVE-2024-35831 or the next vulnerability affects your stack