CVE-2026-23422 Overview
CVE-2026-23422 is a Linux kernel vulnerability in the dpaa2-switch driver. The flaw allows an interrupt storm condition when the IRQ handler receives an out-of-bounds if_id value. A prior commit (31a7a0bbeb00) added bounds checking for if_id but failed to clear the interrupt status when an invalid identifier is detected. This causes the interrupt to remain asserted, generating a continuous loop of unhandled interrupt notifications. The issue was identified by an experimental AI code review agent at Google and affects multiple Linux kernel branches, including 6.19 and 7.0 release candidates. The flaw is classified under [CWE-787] for out-of-bounds write conditions tied to interrupt handling logic.
Critical Impact
A local attacker with low privileges can trigger an interrupt storm in the dpaa2-switch driver, leading to denial of service and degraded system availability.
Affected Products
- Linux kernel 6.19
- Linux kernel 7.0 release candidates (rc1 through rc7)
- Stable kernel branches incorporating commit 31a7a0bbeb00 prior to the fix
Discovery Timeline
- 2026-04-03 - CVE-2026-23422 published to NVD
- 2026-04-24 - Last updated in NVD database
Technical Details for CVE-2026-23422
Vulnerability Analysis
The vulnerability resides in the interrupt request (IRQ) handler of the dpaa2-switch driver, which manages NXP DPAA2 Ethernet switch hardware in the Linux kernel. The handler processes interface notifications using an if_id identifier supplied by the underlying hardware control plane. When the hardware delivers an if_id outside the expected range, the bounds check correctly rejects the value to prevent out-of-bounds memory access. However, the handler returns early without acknowledging the interrupt by clearing the status register.
Because the interrupt status remains asserted, the kernel re-enters the IRQ handler repeatedly. This generates a sustained interrupt storm that consumes CPU cycles and can starve other kernel processes of execution time. On affected systems using DPAA2 networking hardware, this leads to a denial-of-service condition.
Root Cause
The root cause is missing interrupt acknowledgment on the error path. Commit 31a7a0bbeb00 introduced the bounds check but exits the handler without writing to the interrupt status register to clear the pending state. Hardware interrupts that are not acknowledged remain active and continue to fire.
Attack Vector
Exploitation requires local access to a system running an affected Linux kernel with DPAA2 switch hardware. An attacker or malfunctioning hardware path that injects a malformed if_id value into the interrupt notification stream can repeatedly trigger the unhandled interrupt. No user interaction is required and the attack complexity is low. The fix adds the missing register write to clear the interrupt status after detecting an out-of-bounds if_id.
Detection Methods for CVE-2026-23422
Indicators of Compromise
- Sustained high CPU usage in ksoftirqd or IRQ handler threads associated with the dpaa2-switch driver
- Repeated kernel log messages referencing invalid or out-of-bounds if_id values from the DPAA2 switch driver
- Unresponsive networking or system stalls on hardware platforms using NXP DPAA2 Ethernet switches
Detection Strategies
- Monitor /proc/interrupts for abnormally high and rapidly incrementing counters tied to DPAA2 switch IRQ lines
- Review kernel ring buffer output via dmesg for warnings emitted by the bounds check in the IRQ handler
- Correlate periods of CPU saturation with kernel version data to identify hosts running affected builds
Monitoring Recommendations
- Establish baselines for IRQ rates on systems with DPAA2 hardware and alert on sustained deviations
- Track kernel version inventory across Linux fleets to identify exposure to vulnerable releases
- Forward kernel logs to centralized logging for retrospective analysis of interrupt-related anomalies
How to Mitigate CVE-2026-23422
Immediate Actions Required
- Apply the upstream Linux kernel patches referenced in the stable tree commits to remediate the missing interrupt status clear
- Identify systems using NXP DPAA2 networking hardware and prioritize them for kernel updates
- Restrict local access on affected systems until patching is complete to reduce the local attack surface
Patch Information
The fix clears the interrupt status register after the bounds check rejects an invalid if_id. Patches are available in the upstream Linux kernel stable tree across the following commits: Kernel Git Commit 00f42ace, Kernel Git Commit 28fd8ac1, Kernel Git Commit 74badb9c, Kernel Git Commit 7def51cb, Kernel Git Commit b5bababe, Kernel Git Commit c7becfe3, and Kernel Git Commit fa4412cd. Apply the patch matching your kernel branch.
Workarounds
- Disable the dpaa2-switch driver on systems that do not require DPAA2 switch functionality until patches are applied
- Limit local user access on systems with DPAA2 hardware to trusted administrators
- Monitor IRQ counters and pre-emptively reboot or fail over hosts showing signs of an interrupt storm
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


