sched/rt: Fix race in push_rt_task
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 19 fixed, 2 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
In the Linux kernel, the following vulnerability has been resolved: sched/rt: Fix race in push_rt_task Overview ======== When a CPU chooses to call push_rt_task and picks a task to push to another CPU's runqueue then it will call find_lock_lowest_rq method which would take a double lock on both CPUs' runqueues. If one of the locks aren't readily available, it may lead to dropping the current runqueue lock and reacquiring both the locks at once. During this window it is possible that the task is already migrated and is running on some other CPU. These cases are already handled. However, if the task is migrated and has already been executed and another CPU is now trying to wake it up (ttwu) such that it is queued again on the runqeue (on_rq is 1) and also if the task was run by the same CPU, then the current checks will pass even though the task was migrated out and is no longer in the pushable tasks list. Crashes ======= This bug resulted in quite a few flavors of crashes triggering kernel panics with various crash signatures such as assert failures, page faults, null pointer dereferences, and queue corruption errors all coming from scheduler itself. Some of the crashes: -> kernel BUG at kernel/sched/rt.c:1616! BUG_ON(idx >= MAX_RT_PRIO) Call Trace: ? __die_body+0x1a/0x60 ? die+0x2a/0x50 ? do_trap+0x85/0x100 ? pick_next_task_rt+0x6e/0x1d0 ? do_error_trap+0x64/0xa0 ? pick_next_task_rt+0x6e/0x1d0 ? exc_invalid_op+0x4c/0x60 ? pick_next_task_rt+0x6e/0x1d0 ? asm_exc_invalid_op+0x12/0x20 ? pick_next_task_rt+0x6e/0x1d0 __schedule+0x5cb/0x790 ? update_ts_time_stats+0x55/0x70 schedule_idle+0x1e/0x40 do_idle+0x15e/0x200 cpu_startup_entry+0x19/0x20 start_secondary+0x117/0x160 secondary_startup_64_no_verify+0xb0/0xbb -> BUG: kernel NULL pointer dereference, address: 00000000000000c0 Call Trace: ? __die_body+0x1a/0x60 ? no_context+0x183/0x350 ? __warn+0x8a/0xe0 ? exc_page_fault+0x3d6/0x520 ? asm_exc_page_fault+0x1e/0x30 ? pick_next_task_rt+0xb5/0x1d0 ? pick_next_task_rt+0x8c/0x1d0 __schedule+0x583/0x7e0 ? update_ts_time_stats+0x55/0x70 schedule_idle+0x1e/0x40 do_idle+0x15e/0x200 cpu_startup_entry+0x19/0x20 start_secondary+0x117/0x160 secondary_startup_64_no_verify+0xb0/0xbb -> BUG: unable to handle page fault for address: ffff9464daea5900 kernel BUG at kernel/sched/rt.c:1861! BUG_ON(rq->cpu != task_cpu(p)) -> kernel BUG at kernel/sched/rt.c:1055! BUG_ON(!rq->nr_running) Call Trace: ? __die_body+0x1a/0x60 ? die+0x2a/0x50 ? do_trap+0x85/0x100 ? dequeue_top_rt_rq+0xa2/0xb0 ? do_error_trap+0x64/0xa0 ? dequeue_top_rt_rq+0xa2/0xb0 ? exc_invalid_op+0x4c/0x60 ? dequeue_top_rt_rq+0xa2/0xb0 ? asm_exc_invalid_op+0x12/0x20 ? dequeue_top_rt_rq+0xa2/0xb0 dequeue_rt_entity+0x1f/0x70 dequeue_task_rt+0x2d/0x70 __schedule+0x1a8/0x7e0 ? blk_finish_plug+0x25/0x40 schedule+0x3c/0xb0 futex_wait_queue_me+0xb6/0x120 futex_wait+0xd9/0x240 do_futex+0x344/0xa90 ? get_mm_exe_file+0x30/0x60 ? audit_exe_compare+0x58/0x70 ? audit_filter_rules.constprop.26+0x65e/0x1220 __x64_sys_futex+0x148/0x1f0 do_syscall_64+0x30/0x80 entry_SYSCALL_64_after_hwframe+0x62/0xc7 -> BUG: unable to handle page fault for address: ffff8cf3608bc2c0 Call Trace: ? __die_body+0x1a/0x60 ? no_context+0x183/0x350 ? spurious_kernel_fault+0x171/0x1c0 ? exc_page_fault+0x3b6/0x520 ? plist_check_list+0x15/0x40 ? plist_check_list+0x2e/0x40 ? asm_exc_page_fault+0x1e/0x30 ? _cond_resched+0x15/0x30 ? futex_wait_queue_me+0xc8/0x120 ? futex_wait+0xd9/0x240 ? try_to_wake_up+0x1b8/0x490 ? futex_wake+0x78/0x160 ? do_futex+0xcd/0xa90 ? plist_check_list+0x15/0x40 ? plist_check_list+0x2e/0x40 ? plist_del+0x6a/0xd0 ? plist_check_list+0x15/0x40 ? plist_check_list+0x2e/0x40 ? dequeue_pushable_task+0x20/0x70 ? __schedule+0x382/0x7e0 ? asm_sysvec_reschedule_i ---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
Remediation
- Fix · CNA Linux (Linux) Fixed in 6.1.191, 6.6.124, 6.12.64, 6.15.4, 6.16
Red Hat 6 advisories
- RHSA-2025:20518 Released 2025-11-11 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-611.5.1.el9_7, kernel-64k-debug-devel-matched-5.14.0-611.5.1.el9_7, kernel-64k-devel-5.14.0-611.5.1.el9_7 +12
- Red Hat Enterprise Linux BaseOS (v. 9) kernel-5.14.0-611.5.1.el9_7, kernel-64k-5.14.0-611.5.1.el9_7, kernel-64k-core-5.14.0-611.5.1.el9_7 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-611.5.1.el9_7, libperf-5.14.0-611.5.1.el9_7
- Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-611.5.1.el9_7, kernel-rt-64k-5.14.0-611.5.1.el9_7, kernel-rt-64k-core-5.14.0-611.5.1.el9_7 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-611.5.1.el9_7, kernel-rt-core-5.14.0-611.5.1.el9_7, kernel-rt-debug-5.14.0-611.5.1.el9_7 +9
- RHSA-2025:20095 Released 2025-11-11 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-124.8.1.el10_1, kernel-64k-debug-devel-matched-6.12.0-124.8.1.el10_1, kernel-64k-devel-6.12.0-124.8.1.el10_1 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-124.8.1.el10_1, kernel-64k-6.12.0-124.8.1.el10_1, kernel-64k-core-6.12.0-124.8.1.el10_1 +29
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-124.8.1.el10_1, libperf-6.12.0-124.8.1.el10_1
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-124.8.1.el10_1, kernel-rt-64k-6.12.0-124.8.1.el10_1, kernel-rt-64k-core-6.12.0-124.8.1.el10_1 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-124.8.1.el10_1, kernel-rt-core-6.12.0-124.8.1.el10_1, kernel-rt-debug-6.12.0-124.8.1.el10_1 +9
- RHSA-2025:9584 Released 2025-06-25 · Red Hat rating Moderatekernel security update
- Red Hat CodeReady Linux Builder EUS (v.9.4) kernel-tools-libs-devel-5.14.0-427.74.1.el9_4, libperf-5.14.0-427.74.1.el9_4
- Red Hat Enterprise Linux AppStream EUS (v.9.4) kernel-64k-debug-devel-5.14.0-427.74.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.74.1.el9_4, kernel-64k-devel-5.14.0-427.74.1.el9_4 +11
- Red Hat Enterprise Linux BaseOS EUS (v.9.4) bpftool-7.3.0-427.74.1.el9_4, kernel-5.14.0-427.74.1.el9_4, kernel-64k-5.14.0-427.74.1.el9_4 +29
- Red Hat Enterprise Linux Real Time EUS (v.9.4) kernel-rt-5.14.0-427.74.1.el9_4, kernel-rt-core-5.14.0-427.74.1.el9_4, kernel-rt-debug-5.14.0-427.74.1.el9_4 +9
- Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) kernel-rt-5.14.0-427.74.1.el9_4, kernel-rt-core-5.14.0-427.74.1.el9_4, kernel-rt-debug-5.14.0-427.74.1.el9_4 +11
Show 3 more Red Hat advisories
- RHSA-2025:9348 Released 2025-06-23 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux AppStream (v. 10) kernel-64k-debug-devel-6.12.0-55.18.1.el10_0, kernel-64k-debug-devel-matched-6.12.0-55.18.1.el10_0, kernel-64k-devel-6.12.0-55.18.1.el10_0 +12
- Red Hat Enterprise Linux BaseOS (v. 10) kernel-6.12.0-55.18.1.el10_0, kernel-64k-6.12.0-55.18.1.el10_0, kernel-64k-core-6.12.0-55.18.1.el10_0 +28
- Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) kernel-tools-libs-devel-6.12.0-55.18.1.el10_0, libperf-6.12.0-55.18.1.el10_0
- Red Hat Enterprise Linux Real Time (v. 10) kernel-rt-6.12.0-55.18.1.el10_0, kernel-rt-64k-6.12.0-55.18.1.el10_0, kernel-rt-64k-core-6.12.0-55.18.1.el10_0 +21
- Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt-6.12.0-55.18.1.el10_0, kernel-rt-core-6.12.0-55.18.1.el10_0, kernel-rt-debug-6.12.0-55.18.1.el10_0 +11
- RHSA-2025:8246 Released 2025-05-28 · Red Hat rating Moderatekernel security update
- Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.54.1.el8_10, kernel-4.18.0-553.54.1.el8_10, kernel-abi-stablelists-4.18.0-553.54.1.el8_10 +19
- Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.54.1.el8_10
- RHSA-2025:8247 Released 2025-05-28 · Red Hat rating Moderatekernel-rt security update
- Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.54.1.rt7.395.el8_10, kernel-rt-core-4.18.0-553.54.1.rt7.395.el8_10, kernel-rt-debug-4.18.0-553.54.1.rt7.395.el8_10 +9
- Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.54.1.rt7.395.el8_10, kernel-rt-core-4.18.0-553.54.1.rt7.395.el8_10, kernel-rt-debug-4.18.0-553.54.1.rt7.395.el8_10 +7
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat CodeReady Linux Builder EUS (v.9.4) | Fixed | RHSA-2025:9584 |
| Red Hat Enterprise Linux AppStream (v. 10) | Fixed | RHSA-2025:20095, RHSA-2025:9348 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2025:20518 |
| Red Hat Enterprise Linux AppStream EUS (v.9.4) | Fixed | RHSA-2025:9584 |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2025:20095, RHSA-2025:9348 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2025:8246 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2025:20518 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.4) | Fixed | RHSA-2025:9584 |
| Red Hat Enterprise Linux CRB (v. 8) | Fixed | RHSA-2025:8246 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) | Fixed | RHSA-2025:20095, RHSA-2025:9348 |
| Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) | Fixed | RHSA-2025:20518 |
| Red Hat Enterprise Linux NFV (v. 8) | Fixed | RHSA-2025:8247 |
| Red Hat Enterprise Linux RT (v. 8) | Fixed | RHSA-2025:8247 |
| Red Hat Enterprise Linux Real Time (v. 10) | Fixed | RHSA-2025:20095, RHSA-2025:9348 |
| Red Hat Enterprise Linux Real Time (v. 9) | Fixed | RHSA-2025:20518 |
| Red Hat Enterprise Linux Real Time EUS (v.9.4) | Fixed | RHSA-2025:9584 |
| Red Hat Enterprise Linux Real Time for NFV (v. 10) | Fixed | RHSA-2025:20095, RHSA-2025:9348 |
| Red Hat Enterprise Linux Real Time for NFV (v. 9) | Fixed | RHSA-2025:20518 |
| Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) | Fixed | RHSA-2025:9584 |
Not affected: 1 product
- Red Hat Enterprise Linux 6
Timeline
- 2026-10-02 Threatist record created from CVE-2025-38234
- 2026-10-03 Alias added: GHSA-wpg2-262c-j98f
- 2026-10-16 CISA SSVC decision points changed
- 2026-10-30 Fix available: Linux/Linux@35b55cd665fbfd72805318f7017626eefd13dca5, Linux/[email protected] · CNA
- 2026-10-30 1 new reference · CNA
References
Patch 4
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-38234 · CVE Program
- CVE-2025-38234 · NVD
- FIRST EPSS
- GHSA-wpg2-262c-j98f · GitHub Advisory Database · CC BY 4.0
- CVE-2025-38234 · 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