🔍 CVE-2026-93830

7.5
CVSS Score
HIGH
2026-09-24
2026-10-03 11:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 stmmac xgmac2 드라이버에서 RX 버퍼 사용 불가(RBUE) 인터럽트가 기본적으로 활성화되어 발생하는 인터럽트 폭풍 취약점입니다. 과도한 수신 압력 발생 시 DMA가 버퍼를 채우지 못해 불필요한 인터럽트가 기하급수적으로 발생하며 시스템 성능을 저하시킵니다.

💡 쉬운 설명

네트워크 데이터가 너무 많이 들어올 때, 컴퓨터가 처리할 수 있는 범위를 넘어서면 시스템이 멈추지 않으려고 계속해서 잘못된 신호를 보내는 현상입니다. 이로 인해 컴퓨터가 실제 데이터 처리보다 신호 처리에만 모든 힘을 쏟게 되어 느려지거나 먹통이 될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: xgmac2: disable RBUE in default RX interrupt mask Enabling the RX Buffer Unavailable (RBUE) interrupt is counterproductive and can trigger a MAC interrupt storm under heavy RX pressure. When the DMA runs out of RX descriptors it fires RBUE continuously until software refills the ring. However, RBUE is redundant: the normal RX completion interrupt (RIE) already triggers NAPI, which processes completed descriptors and refills the ring, causing the DMA to resume. The RBUE handler itself only sets handle_rx - the same outcome as RIE. On Agilex5 under heavy RX pressure, the MAC interrupt (which includes RBUE) was observed firing 1,821,811,555 times against only 2,618,627 actual RX completions - a ~695x ratio - confirming the severity of the storm. RBUE does not provide OOM recovery. If page_pool is exhausted, stmmac_rx_refill() cannot advance the DMA tail pointer, the DMA stays suspended, and RBUE fires again on the next NAPI completion - a storm with no forward progress. This patch trades that storm for a clean stall with the same RX outcome. Proper OOM recovery is a pre-existing gap outside the scope of this fix. Note: as a consequence of disabling RBUE, the rx_buf_unav_irq ethtool counter will always read 0 on XGMAC2 devices. This behaviour is already inconsistent across DWMAC core versions. Remove RBUE from XGMAC_DMA_INT_DEFAULT_EN and XGMAC_DMA_INT_DEFAULT_RX to prevent the interrupt storm while keeping normal RX handling intact.

📍 영향받는 시스템

Linux kernel (stmmac: xgmac2 driver components)

⚔️ 공격 벡터

네트워크 트래픽을 의도적으로 과도하게 발생시켜 인터럽트 폭풍을 유도하는 DoS(서비스 거부) 공격

🛡️ 대응 방법

Linux 커널 패치를 적용하여 XGMAC_DMA_INT_DEFAULT_EN 및 XGMAC_DMA_INT_DEFAULT_RX 설정에서 RBUE를 비활성화

🔧 검증 코드

현재 사용 중인 커널 버전과 stmmac 모듈 정보를 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.

Shell / Script
uname -r && modinfo stmmac

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

NVIDIA Cloud Gaming Guest Driver for Linux