7.8

CVE-2025-38234: sched/rt: Fix race in push_rt_task

Modified
AliasesUBUNTU-CVE-2025-38234DEBIAN-CVE-2025-38234CGA-222q-f27v-43cw
Published 04-07-2025Last modified 30-10-2026

Vulnerability summary

CVE-2025-38234 is a high (CVSS 7.8) vulnerability in linux. EPSS estimates a 0.17% chance of exploitation in the next 30 days, higher than 6.1% of scored vulnerabilities.

Priority
Routine

Not severe (CVSS 7.8, local access); no exploitation reported by the 5 checked sources

Source freshness unavailable

How is this decided?
CVSS score
7.8/10
010
High · v3.1 (CVE.org)
EPSS score
0.17%
0%100%
Low · +0.01 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 47 · Related 42

Timeline

  1. 04-07-2025
    PublishedVulnerability first disclosed.
  2. 30-10-2026
    Last modifiedVulnerability information updated.

Description

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---

CVSS metrics

6 scores · 5 sources · 2 versions

EPSS trend

Probability

0.17%

Chance of exploitation in the next 30 days

Percentile

6%

Versus all other CVEs

30-day change

Increase +0.01 pp

From 0.16% on 04-10-2026

04-10-202603-11-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Version check

Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.

Ubuntu147 products
  • linuxAll versions (No fix recorded) | < 6.8.0-110.110
  • linux-allwinner-5.19All versions (No fix recorded)
  • linux-awsAll versions (No fix recorded) | < 6.8.0-1052.55
  • linux-aws-5.0All versions (No fix recorded)
  • linux-aws-5.11All versions (No fix recorded)
Chainguard5 products
  • linux-aws-6.12< 6.12.62-r0 | < 6.12.65-r0 | < 6.12.57-r2 | < 6.12.78-r0 | < 6.12.76-r0 | < 6.12.77-r2 | < 6.12.67-r0 | < 6.12.65-r2 | < 6.12.68-r0 | < 6.12.63-r0 | < 6.12.77-r1 | < 6.12.66-r0 | < 6.12.80-r0 | < 6.12.65-r1 | < 6.12.69-r0 | < 6.12.72-r1 | < 6.12.77-r0 | < 6.12.62-r2 | < 6.12.60-r4 | < 6.12.68-r1 | < 6.12.70-r0 | < 6.12.74-r1 | < 6.12.71-r0 | < 6.12.62-r1 | < 6.12.74-r0 | < 6.12.72-r0
  • linux-azure-6.12< 6.12.65-r1 | < 6.12.62-r0 | < 6.12.62-r1 | < 6.12.65-r3 | < 6.12.78-r0 | < 6.12.77-r2 | < 6.12.67-r0 | < 6.12.69-r0 | < 6.12.76-r0 | < 6.12.62-r2 | < 6.12.60-r3 | < 6.12.65-r4 | < 6.12.66-r0 | < 6.12.57-r2 | < 6.12.63-r0 | < 6.12.60-r4 | < 6.12.77-r1 | < 6.12.65-r2 | < 6.12.71-r0 | < 6.12.77-r0 | < 6.12.80-r0 | < 6.12.70-r0 | < 6.12.68-r0 | < 6.12.74-r1 | < 6.12.72-r0 | < 6.12.74-r0
  • linux-gcp-6.12< 6.12.66-r0 | < 6.12.77-r1 | < 6.12.65-r2 | < 6.12.74-r1 | < 6.12.63-r0 | < 6.12.65-r0 | < 6.12.60-r3 | < 6.12.65-r1 | < 6.12.76-r0 | < 6.12.62-r1 | < 6.12.60-r4 | < 6.12.68-r0 | < 6.12.71-r0 | < 6.12.70-r0 | < 6.12.62-r0 | < 6.12.77-r0 | < 6.12.78-r0 | < 6.12.72-r0 | < 6.12.69-r0 | < 6.12.67-r0 | < 6.12.74-r0 | < 6.12.57-r2 | < 6.12.68-r1 | < 6.12.80-r0 | < 6.12.62-r2 | < 6.12.77-r2
  • linux-qemu-6.12< 6.12.76-r0 | < 6.12.69-r0 | < 6.12.80-r0 | < 6.12.65-r2 | < 6.12.77-r0 | < 6.12.72-r0 | < 6.12.66-r0 | < 6.12.70-r0 | < 6.12.78-r0 | < 6.12.67-r0 | < 6.12.71-r0 | < 6.12.77-r1 | < 6.12.74-r1 | < 6.12.68-r0 | < 6.12.74-r0 | < 6.12.77-r2 | < 6.12.65-r1
  • linux-vmware-6.12< 6.12.65-r2 | < 6.12.71-r0 | < 6.12.72-r0 | < 6.12.78-r0 | < 6.12.77-r2 | < 6.12.68-r1 | < 6.12.68-r0 | < 6.12.77-r1 | < 6.12.77-r0 | < 6.12.80-r0 | < 6.12.76-r0 | < 6.12.65-r1 | < 6.12.66-r0 | < 6.12.67-r0 | < 6.12.69-r0 | < 6.12.70-r0 | < 6.12.74-r1 | < 6.12.74-r0
Linux2 products
  • linux≥ e8fa136262e1121288bb93befe2295928ffd240d, < 35b55cd665fbfd72805318f7017626eefd13dca5 | ≥ e8fa136262e1121288bb93befe2295928ffd240d, < 9f6022b2573ae068793810db719e131df3ded405 | ≥ e8fa136262e1121288bb93befe2295928ffd240d, < debfbc047196df1f6bfd52f2d028c21dce67f0de | ≥ e8fa136262e1121288bb93befe2295928ffd240d, < 07ecabfbca64f4f0b6071cf96e49d162fa9d138d | ≥ e8fa136262e1121288bb93befe2295928ffd240d, < 690e47d1403e90b7f2366f03b52ed3304194c793 | 2.6.25
  • linux_kernel< 6.15.4
Debian1 product
  • linuxAll versions (No fix recorded) | < 6.12.69-1 | < 6.16.3-1

4 vendors · 155 products

References

32 links
Show all 32 references