CVE-2025-39698
Vulnerability Summary
Timeline
Description
In the Linux kernel, the following vulnerability has been resolved: io_uring/futex: ensure io_futex_wait() cleans up properly on failure The io_futex_data is allocated upfront and assigned to the io_kiocb async_data field, but the request isn't marked with REQ_F_ASYNC_DATA at that point. Those two should always go together, as the flag tells io_uring whether the field is valid or not. Additionally, on failure cleanup, the futex handler frees the data but does not clear ->async_data. Clear the data and the flag in the error path as well. Thanks to Trend Micro Zero Day Initiative and particularly ReDress for reporting this.
CVSS Metrics
- v3.1•HIGH•Score: 8.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- v3.1•MEDIUM•Score: 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS Trends
Current EPSS score: 0.02%• Percentile: 7%
Techniques & Countermeasures
- CWE-416•Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
- CWE-672•Operation on a Resource after Expiration or Release
The product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked.
Affected Systems
- linux•linux
≥ 194bb58c6090e39bd7d9b9c888a079213628e1f6, < d9f93172820a53ab42c4b0e5e65291f4f9d00ad2 | ≥ 194bb58c6090e39bd7d9b9c888a079213628e1f6, < d34c04152df517c59979b4bf2a47f491e06d3256 | ≥ 194bb58c6090e39bd7d9b9c888a079213628e1f6, < 508c1314b342b78591f51c4b5dadee31a88335df | 6.7
- linux•linux_kernel
≥ 6.7, < 6.12.44 | ≥ 6.13, < 6.16.4 | 6.17:rc1 | 6.17:rc2