CVE-2025-38106
BaseFortify
Publication date: 2025-07-03
Last updated on: 2025-11-20
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.16 |
| linux | linux_kernel | From 5.15.160 (inc) to 5.16 (inc) |
| linux | linux_kernel | From 5.15.160 (inc) to 5.16 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-416 | 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. |
Attack-Flow Graph
AI Powered Q&A
How can this vulnerability impact me? :
This vulnerability can lead to kernel crashes or instability due to use-after-free memory access. Exploiting this flaw could potentially allow an attacker to execute arbitrary code in kernel mode or cause denial of service by crashing the system, impacting system reliability and security.
Can you explain this vulnerability to me?
This vulnerability is a use-after-free bug in the Linux kernel's io_uring subsystem. Specifically, the task_struct pointed to by sq->thread is released while still being used in the function __io_uring_show_fdinfo(). The issue arises because holding ctx->uring_lock does not prevent the release or exit of sq->thread, leading to a read from freed memory, which can cause kernel crashes or undefined behavior. The fix involves using Read-Copy-Update (RCU) mechanisms to safely assign and look up the thread pointer and grab a reference to the task_struct to prevent it from being freed prematurely.