Cloudanix VulnDB

CVE-2026-89769

High · 7.4

CVSS

7.4

EPSS

0.2%

Published

Sep 11, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A rare error-handling mistake in the Linux kernel's timer hardware support could allow an attacker with local access to crash the system or potentially take control.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
High
Impact
Full Compromise
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw leaves an IRQ handler registered with a dangling dev_id pointer after cpuhp_setup_state fails post-request_irq, allowing use-after-free when the IRQ subsequently fires following kfree of the pit structure.

Why it matters to the business

On affected Linux systems, this can lead to kernel instability, crashes, or potential local privilege escalation under specific hardware and error conditions, though low exploitability limits widespread operational risk.

How an attack unfolds

An attacker triggers the cpuhp_setup_state failure path after successful request_irq in pit_clockevent_per_cpu_init, allows kfree to execute without IRQ release, then forces the IRQ to fire to dereference the freed structure for use-after-free exploitation.

How to fix it

Apply the kernel patch that inserts a call to pit_clockevent_per_cpu_exit before falling through to out_pit_clocksource_unregister; rebuild and deploy the corrected kernel image.

How to confirm the fix worked

Inspect the nxp-pit driver source to confirm pit_clockevent_per_cpu_exit is invoked on the cpuhp_setup_state error path; boot test with forced cpuhp failures and verify no IRQ leak warnings appear in dmesg.

Typical attack path

  1. Cause cpuhp_setup_state to fail after IRQ registration succeeds
  2. Allow the error path to skip IRQ release and proceed to kfree
  3. Trigger the IRQ to invoke the dangling handler pointer
  4. Leverage the resulting use-after-free for memory corruption

How to detect it

Scan kernel logs for warnings about IRQ leaks or use-after-free references involving pit_clockevent_per_cpu; monitor for unexpected interrupts on NXP PIT lines after cpu hotplug events.

What your security team should do

  • Prioritize kernel updates containing the IRQ cleanup fix during the next maintenance window
  • Restrict unprivileged local access on systems exposing the NXP PIT driver
  • Enable kernel hardening features such as slab freelist randomization to reduce UAF impact

The record

In the Linux kernel, the following vulnerability has been resolved: clocksource/drivers/nxp-pit: Fix IRQ leak on cpuhp_setup_state error path When cpuhp_setup_state fails after pit_clockevent_per_cpu_init has successfully called request_irq, the error handling jumps directly to out_pit_clocksource_unregister without freeing the registered IRQ. This leaks the IRQ line and, since kfree(pit) follows, leaves a dangling pointer registered as the interrupt handler's dev_id, potentially leading to a use-after-free if the IRQ fires afterwards. Fix it by calling pit_clockevent_per_cpu_exit to properly release the IRQ before falling through to the existing cleanup chain.

Affected packages

Ecosystem Package Introduced Fixed