CVE-2026-31734

MEDIUM

sched_ext: Fix is_bpf_migration_disabled() false negative on non-PREEMPT_RCU

Title source: cna
STIX 2.1

Description

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix is_bpf_migration_disabled() false negative on non-PREEMPT_RCU Since commit 8e4f0b1ebcf2 ("bpf: use rcu_read_lock_dont_migrate() for trampoline.c"), the BPF prolog (__bpf_prog_enter) calls migrate_disable() only when CONFIG_PREEMPT_RCU is enabled, via rcu_read_lock_dont_migrate(). Without CONFIG_PREEMPT_RCU, the prolog never touches migration_disabled, so migration_disabled == 1 always means the task is truly migration-disabled regardless of whether it is the current task. The old unconditional p == current check was a false negative in this case, potentially allowing a migration-disabled task to be dispatched to a remote CPU and triggering scx_error in task_can_run_on_remote_rq(). Only apply the p == current disambiguation when CONFIG_PREEMPT_RCU is enabled, where the ambiguity with the BPF prolog still exists.

Scores

CVSS v3 5.5
EPSS 0.0001
EPSS Percentile 2.2%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Details

Status published
Products (10)
Linux/Linux < 6.18
Linux/Linux 6.18
Linux/Linux 6.18.22 - 6.18.*
Linux/Linux 6.19.12 - 6.19.*
Linux/Linux 7.0
Linux/Linux 8e4f0b1ebcf2180ab594f204f01279a666dadf3b - 0c4a59df370bea245695c00aaae6ae75747139bd
Linux/Linux 8e4f0b1ebcf2180ab594f204f01279a666dadf3b - 72c43eb2e334febe93018cfb68ae828f55c6e49e
Linux/Linux 8e4f0b1ebcf2180ab594f204f01279a666dadf3b - b4992a9446bb9a639007bfd32bf5c5a7e30199e5
linux/linux_kernel 7.0 rc1 (6 CPE variants)
linux/linux_kernel 6.18 - 6.18.22
Published May 01, 2026
Tracked Since May 01, 2026