io_uring: fix use-after-free of sq->thread in __io_uring_show_fdinfo()
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 20 fixed, 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-416 and the CVSS impact.
Summary
In the Linux kernel, the following vulnerability has been resolved: io_uring: fix use-after-free of sq->thread in __io_uring_show_fdinfo() syzbot reports: BUG: KASAN: slab-use-after-free in getrusage+0x1109/0x1a60 Read of size 8 at addr ffff88810de2d2c8 by task a.out/304 CPU: 0 UID: 0 PID: 304 Comm: a.out Not tainted 6.16.0-rc1 #1 PREEMPT(voluntary) Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x53/0x70 print_report+0xd0/0x670 ? __pfx__raw_spin_lock_irqsave+0x10/0x10 ? getrusage+0x1109/0x1a60 kasan_report+0xce/0x100 ? getrusage+0x1109/0x1a60 getrusage+0x1109/0x1a60 ? __pfx_getrusage+0x10/0x10 __io_uring_show_fdinfo+0x9fe/0x1790 ? ksys_read+0xf7/0x1c0 ? do_syscall_64+0xa4/0x260 ? vsnprintf+0x591/0x1100 ? __pfx___io_uring_show_fdinfo+0x10/0x10 ? __pfx_vsnprintf+0x10/0x10 ? mutex_trylock+0xcf/0x130 ? __pfx_mutex_trylock+0x10/0x10 ? __pfx_show_fd_locks+0x10/0x10 ? io_uring_show_fdinfo+0x57/0x80 io_uring_show_fdinfo+0x57/0x80 seq_show+0x38c/0x690 seq_read_iter+0x3f7/0x1180 ? inode_set_ctime_current+0x160/0x4b0 seq_read+0x271/0x3e0 ? __pfx_seq_read+0x10/0x10 ? __pfx__raw_spin_lock+0x10/0x10 ? __mark_inode_dirty+0x402/0x810 ? selinux_file_permission+0x368/0x500 ? file_update_time+0x10f/0x160 vfs_read+0x177/0xa40 ? __pfx___handle_mm_fault+0x10/0x10 ? __pfx_vfs_read+0x10/0x10 ? mutex_lock+0x81/0xe0 ? __pfx_mutex_lock+0x10/0x10 ? fdget_pos+0x24d/0x4b0 ksys_read+0xf7/0x1c0 ? __pfx_ksys_read+0x10/0x10 ? do_user_addr_fault+0x43b/0x9c0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0f74170fc9 Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 8 RSP: 002b:00007fffece049e8 EFLAGS: 00000206 ORIG_RAX: 0000000000000000 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f0f74170fc9 RDX: 0000000000001000 RSI: 00007fffece049f0 RDI: 0000000000000004 RBP: 00007fffece05ad0 R08: 0000000000000000 R09: 00007fffece04d90 R10: 0000000000000000 R11: 0000000000000206 R12: 00005651720a1100 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 </TASK> Allocated by task 298: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 __kasan_slab_alloc+0x6e/0x70 kmem_cache_alloc_node_noprof+0xe8/0x330 copy_process+0x376/0x5e00 create_io_thread+0xab/0xf0 io_sq_offload_create+0x9ed/0xf20 io_uring_setup+0x12b0/0x1cc0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 22: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x37/0x50 kmem_cache_free+0xc4/0x360 rcu_core+0x5ff/0x19f0 handle_softirqs+0x18c/0x530 run_ksoftirqd+0x20/0x30 smpboot_thread_fn+0x287/0x6c0 kthread+0x30d/0x630 ret_from_fork+0xef/0x1a0 ret_from_fork_asm+0x1a/0x30 Last potentially related work creation: kasan_save_stack+0x33/0x60 kasan_record_aux_stack+0x8c/0xa0 __call_rcu_common.constprop.0+0x68/0x940 __schedule+0xff2/0x2930 __cond_resched+0x4c/0x80 mutex_lock+0x5c/0xe0 io_uring_del_tctx_node+0xe1/0x2b0 io_uring_clean_tctx+0xb7/0x160 io_uring_cancel_generic+0x34e/0x760 do_exit+0x240/0x2350 do_group_exit+0xab/0x220 __x64_sys_exit_group+0x39/0x40 x64_sys_call+0x1243/0x1840 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff88810de2cb00 which belongs to the cache task_struct of size 3712 The buggy address is located 1992 bytes inside of freed 3712-byte region [ffff88810de2cb00, ffff88810de2d980) which is caused by the task_struct pointed to by sq->thread being released while it is being used in the function __io_uring_show_fdinfo(). Holding ctx->uring_lock does not prevent ehre relase or exit of sq->thread. Fix this by assigning and looking up ->thread under RCU, and grabbing a reference to the task_struct. This e ---truncated---
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 6.9 and later | 6.12.34, 6.15.3, 6.16 | Patch available | CNA |
- Linux VendorLinux Affected 6.9 and later Fixed in 6.12.34, 6.15.3, 6.16 Patch available CNA
Remediation
- Fix · CNA Linux (Linux) Fixed in 6.12.34, 6.15.3, 6.16
Red Hat 4 advisories
- RHSA-2026:4012 Released 2026-03-09 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-124.43.1.el10_1, kernel-64k-debug-devel-matched-6.12.0-124.43.1.el10_1, kernel-64k-devel-6.12.0-124.43.1.el10_1 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-124.43.1.el10_1, kernel-64k-6.12.0-124.43.1.el10_1, kernel-64k-core-6.12.0-124.43.1.el10_1 +29
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-124.43.1.el10_1, libperf-6.12.0-124.43.1.el10_1
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-124.43.1.el10_1, kernel-rt-64k-6.12.0-124.43.1.el10_1, kernel-rt-64k-core-6.12.0-124.43.1.el10_1 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-124.43.1.el10_1, kernel-rt-core-6.12.0-124.43.1.el10_1, kernel-rt-debug-6.12.0-124.43.1.el10_1 +9
- RHSA-2026:3966 Released 2026-03-09 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-611.38.1.el9_7, kernel-64k-debug-devel-matched-5.14.0-611.38.1.el9_7, kernel-64k-devel-5.14.0-611.38.1.el9_7 +12
- Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-611.38.1.el9_7, kernel-64k-5.14.0-611.38.1.el9_7, kernel-64k-core-5.14.0-611.38.1.el9_7 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-611.38.1.el9_7, libperf-5.14.0-611.38.1.el9_7
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-611.38.1.el9_7, kernel-rt-64k-5.14.0-611.38.1.el9_7, kernel-rt-64k-core-5.14.0-611.38.1.el9_7 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-611.38.1.el9_7, kernel-rt-core-5.14.0-611.38.1.el9_7, kernel-rt-debug-5.14.0-611.38.1.el9_7 +9
- RHSA-2026:3579 Released 2026-03-03 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream EUS (v. 10.0) kernel-64k-debug-devel-6.12.0-55.62.1.el10_0, kernel-64k-debug-devel-matched-6.12.0-55.62.1.el10_0, kernel-64k-devel-6.12.0-55.62.1.el10_0 +12
- Red Hat Enterprise Linux BaseOS EUS (v. 10.0) kernel-6.12.0-55.62.1.el10_0, kernel-64k-6.12.0-55.62.1.el10_0, kernel-64k-core-6.12.0-55.62.1.el10_0 +28
- Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) kernel-tools-libs-devel-6.12.0-55.62.1.el10_0, libperf-6.12.0-55.62.1.el10_0
- Red Hat Enterprise Linux Real Time EUS (v. 10.0) kernel-rt-6.12.0-55.62.1.el10_0, kernel-rt-64k-6.12.0-55.62.1.el10_0, kernel-rt-64k-core-6.12.0-55.62.1.el10_0 +21
- Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) kernel-rt-6.12.0-55.62.1.el10_0, kernel-rt-core-6.12.0-55.62.1.el10_0, kernel-rt-debug-6.12.0-55.62.1.el10_0 +11
Show 1 more Red Hat advisories
- RHSA-2026:3088 Released 2026-02-23 · Red Hat rating Moderatekernel security update
- Red Hat CodeReady Linux Builder EUS (v.9.6) kernel-tools-libs-devel-5.14.0-570.92.1.el9_6, libperf-5.14.0-570.92.1.el9_6
- Red Hat Enterprise Linux AppStream EUS (v.9.6) kernel-64k-debug-devel-5.14.0-570.92.1.el9_6, kernel-64k-debug-devel-matched-5.14.0-570.92.1.el9_6, kernel-64k-devel-5.14.0-570.92.1.el9_6 +12
- Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel-5.14.0-570.92.1.el9_6, kernel-64k-5.14.0-570.92.1.el9_6, kernel-64k-core-5.14.0-570.92.1.el9_6 +28
- Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt-5.14.0-570.92.1.el9_6, kernel-rt-64k-5.14.0-570.92.1.el9_6, kernel-rt-64k-core-5.14.0-570.92.1.el9_6 +21
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt-5.14.0-570.92.1.el9_6, kernel-rt-core-5.14.0-570.92.1.el9_6, kernel-rt-debug-5.14.0-570.92.1.el9_6 +11
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat CodeReady Linux Builder EUS (v.9.6) | Fixed | RHSA-2026:3088 |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2026:4012 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2026:3966 |
| Red Hat Enterprise Linux AppStream EUS (v. 10.0) | Fixed | RHSA-2026:3579 |
| Red Hat Enterprise Linux AppStream EUS (v.9.6) | Fixed | RHSA-2026:3088 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2026:4012 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2026:3966 |
| Red Hat Enterprise Linux BaseOS EUS (v. 10.0) | Fixed | RHSA-2026:3579 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.6) | Fixed | RHSA-2026:3088 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2026:4012 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2026:3966 |
| Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) | Fixed | RHSA-2026:3579 |
| Red Hat Enterprise Linux Real Time (v. 10) | Fixed | RHSA-2026:4012 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2026:3966 |
| Red Hat Enterprise Linux Real Time EUS (v. 10.0) | Fixed | RHSA-2026:3579 |
| Red Hat Enterprise Linux Real Time EUS (v.9.6) | Fixed | RHSA-2026:3088 |
| Red Hat Enterprise Linux Real Time for NFV (v. 10) | Fixed | RHSA-2026:4012 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2026:3966 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) | Fixed | RHSA-2026:3579 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) | Fixed | RHSA-2026:3088 |
Not affected: 3 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
Timeline
- 2026-10-02 Threatist record created from CVE-2025-38106
- 2026-10-03 Alias added: GHSA-vh9v-7rrm-mm8x
- 2026-11-05 CVSS score changed · Red Hat
References
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2025-38106 · CVE Program
- CVE-2025-38106 · NVD
- FIRST EPSS
- GHSA-vh9v-7rrm-mm8x · GitHub Advisory Database · CC BY 4.0
- CVE-2025-38106 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences