PatchSiren cyber security CVE debrief
CVE-2026-45919 Linux CVE debrief
A logic flaw in the Linux kernel's real-time (RT) scheduler load balancing code can cause an overloaded CPU to enter an infinite self-IPI loop, resulting in a CPU hardlockup. The vulnerability exists in the `rto_next_cpu()` function used during RT task push operations when `HAVE_RT_PUSH_IPI` is enabled. When multiple CPUs trigger RT load balancing simultaneously, a race condition between `rd->rto_loop` and `rd->rto_loop_next` causes the overloaded CPU to repeatedly select itself for push operations, queueing irq_work to itself and sending self-IPIs continuously. The fix filters out the currently executing CPU in `rto_next_cpu()` to prevent redundant self-IPIs.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- MEDIUM 5.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-27
- Original CVE updated
- 2026-06-24
- Advisory published
- 2026-05-27
- Advisory updated
- 2026-06-24
Who should care
Organizations running Linux systems with real-time kernel configurations, particularly those with `CONFIG_HAVE_RT_PUSH_IPI` enabled and mixed RT/CFS workloads. Cloud providers hosting customer workloads with real-time scheduling requirements. Embedded systems and industrial control systems using PREEMPT_RT or similar real-time kernel patches.
Technical summary
The vulnerability resides in `kernel/sched/rt.c` in the RT scheduler's push task logic. When `HAVE_RT_PUSH_IPI` is configured, the `rto_push_irq_work_func` handles RT task pushing via IPIs. The `rto_next_cpu()` function selects target CPUs for push operations, but fails to exclude the currently executing CPU from selection. During concurrent load balancing operations, `tell_cpu_to_push()` increments `rd->rto_loop_next` across multiple CPUs, creating a mismatch with `rd->rto_loop`. This forces `rto_next_cpu()` to restart its search, and with the overloaded CPU still satisfying migration criteria (`rt_nr_migratory && rt_nr_total > 1`), it reselects itself. The CPU then queues irq_work to itself via `irq_work_queue_on()`, triggering `rto_push_irq_work_func` again in an infinite loop. Each iteration sends self-IPIs, eventually causing a CPU hardlockup detector trigger. The fix adds a CPU filter in `rto_next_cpu()` to skip the initiating CPU, breaking the self-IPI cycle.
Defensive priority
high
Recommended defensive actions
- Apply kernel updates containing the fix for CVE-2026-45919 from your Linux distribution
- Verify kernel version includes one of the referenced stable commits if running affected RT workloads
- Monitor systems running real-time kernel configurations with HAVE_RT_PUSH_IPI enabled for unexpected CPU hardlockups
- Consider temporarily disabling RT push IPI functionality if patches are unavailable and workload permits
- Review scheduling configurations on systems hosting mixed RT and CFS workloads to reduce overload scenarios
Evidence notes
CVE description confirms this is a resolved Linux kernel vulnerability in the RT scheduler. Multiple stable kernel commits are referenced, indicating backports to various kernel versions. The vulnerability requires specific conditions: CPU-bound RT task, non-CPU-bound RT task, and CFS task stuck in kernel space on the same CPU, combined with `HAVE_RT_PUSH_IPI` enabled.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-45919 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-45919
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-45919 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-45919
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/16ca9f3117e9a294646c897daf08a5ab546c711b
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/3b3c672a66db3de3b40f8a7057864bc1f874ede3
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/52aeb1e07ec223caf212f036817976c98d2aa250
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/8ad5577b2d4acfd83f03d97a0aece2d18aac5f07
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/94894c9c477e53bcea052e075c53f89df3d2a33e
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/9f25edc5a20cb52a5abbf25f0724bb4732b81801
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/a6a73403733e86748421f2eeaf028c85683ef896
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.