CVE-2026-99188 in Linux
Tóm tắt
Bởi VulDB • 28/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
net: stmmac: dwmac1000: xóa ngắt trạng thái RGMII
Kể từ commit 2e2c878a3141 ("net: stmmac: remove SGMII/RGMII/SMII interrupt handling"), không có thành phần nào trên đường truyền RGMII đọc GMAC_RGSMIIIS, do đó RGSMIIIS vẫn ở trạng thái pending (chờ xử lý) phía sau GMAC_INT_MASK kể từ lần thay đổi liên kết đầu tiên. Hàm stmmac_resume() thực hiện reset MAC trong stmmac_hw_setup(); lệnh reset đặt GMAC_INT_MASK về 0 cho đến khi dwmac1000_core_init() ghi lại mặt nạ này, và trạng thái pending gây ra bão ngắt (interrupt storm) trên đường truyền:
dwmac_dma_interrupt: unexpected status 04000000
Một bản dump thanh ghi tại thông báo đầu tiên trên ODROID-HC4 cho thấy điều đó:
core int_status 00000001 int_mask 00000000 pmt 00000000 rgsmiiis 0000000d
Khi luồng resume chạy trên CPU xử lý ngắt MAC, bão ngắt này làm nghẽn (starves) nó: dẫn đến soft lockup (khóa mềm), sau đó là watchdog reset hoặc treo máy.
Đọc GMAC_RGSMIIIS trong dwmac1000_irq_status() khi trạng thái chưa bị che chắn (masked), giống như trình điều khiển đã làm trước commit 2e2c878a3141; thao tác đọc này sẽ xóa nó đi.
Wake-on-LAN resume từ s2idle với luồng resume và ngắt MAC trên một CPU: Helios64 (dwmac-rk), phiên bản 7.3-rc6, bị soft-lock trong 3/3 lần resume mà không có bản sửa lỗi, và trong 0/10 lần khi áp dụng patch này; nó chạy ổn định với thay đổi dwmac-rk ngoài cây thư mục chính (out-of-tree) giữ cho GMAC được cấp nguồn xuyên qua quá trình suspend. ODROID-HC4 (dwmac-meson8b): 0/10 lần với patch này, 2/2 lần không có bản sửa lỗi trên bản dựng 7.3-rc5. irq_rgmii_n tăng lên một đơn vị cho mỗi lần resume.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.