CVE-2026-99188
Received Received - Intake

Interrupt Storm in Linux Kernel stmmac Driver

Vulnerability report for CVE-2026-99188, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-28

Last updated on: 2026-10-28

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: dwmac1000: clear the RGMII status interrupt Since commit 2e2c878a3141 ("net: stmmac: remove SGMII/RGMII/SMII interrupt handling") nothing on the RGMII path reads GMAC_RGSMIIIS, so RGSMIIIS stays pending behind GMAC_INT_MASK from the first link change on. stmmac_resume() resets the MAC in stmmac_hw_setup(); the reset sets GMAC_INT_MASK to 0 until dwmac1000_core_init() writes the mask again, and the pending status storms the line: dwmac_dma_interrupt: unexpected status 04000000 A register dump at the first message on ODROID-HC4 showed it: core int_status 00000001 int_mask 00000000 pmt 00000000 rgsmiiis 0000000d When the resume thread runs on the CPU that takes the MAC interrupt, the storm starves it: a soft lockup, then a watchdog reset or a hang. Read GMAC_RGSMIIIS in dwmac1000_irq_status() when the status is not masked, as the driver did before 2e2c878a3141; the read clears it. Wake-on-LAN resume from s2idle with the resume thread and the MAC interrupt on one CPU: Helios64 (dwmac-rk), 7.3-rc6, soft-locked in 3 of 3 resumes without a fix and in 0 of 10 with this patch; it ran with an out-of-tree dwmac-rk change that keeps the GMAC powered across suspend. ODROID-HC4 (dwmac-meson8b): 0 of 10 with this patch, 2 of 2 without a fix on a 7.3-rc5 build. irq_rgmii_n went up by one per resume.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-28
Last Modified
2026-10-28
Generated
2026-10-28
AI Q&A
2026-10-28
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
Linux Linux 2e2c878a314175a4c3b76ee3be455f543438f472
Linux Linux 2e2c878a314175a4c3b76ee3be455f543438f472
Linux Linux 6.19

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a missing read of the GMAC_RGSMIIIS register during interrupt handling in the stmmac driver. After a specific commit removed RGMII interrupt handling, the register's status remains pending, causing an interrupt storm when the MAC is reset during resume operations. This leads to CPU soft lockups or system hangs.

Detection Guidance

This vulnerability is specific to the Linux kernel's stmmac driver and may cause system hangs or soft lockups during resume from suspend. Detection requires checking kernel logs for messages like 'dwmac_dma_interrupt: unexpected status 04000000' or 'soft lockup' during resume. Use commands like 'dmesg | grep -i dwmac' or 'journalctl -k | grep -i stmmac' to search for related errors.

Impact Analysis

The vulnerability can cause system instability during wake-on-LAN resume from suspend, particularly when the MAC interrupt and resume thread run on the same CPU. This may result in soft lockups, watchdog resets, or complete system hangs. Affected systems include ODROID-HC4 and Helios64.

Mitigation Strategies

Apply the kernel patch that reads GMAC_RGSMIIIS in dwmac1000_irq_status() to clear pending interrupts. Update to a fixed kernel version where this issue is resolved. If updating is not immediately possible, avoid using Wake-on-LAN resume from s2idle until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-99188. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart