PatchSiren

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.