Katalog CVE

CVE-2026-93830

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.43%

Percentyl 34 - wyżej niż 34% wszystkich znanych CVE

Streszczenie

W jądrze Linux w podsystemie sieciowym stmmac dla XGMAC2 włączony był przerywacz RBUE (RX Buffer Unavailable), który przy dużym obciążeniu RX powodował burzę przerwań MAC. Poprawka wyłącza RBUE z domyślnej maski przerwań, ponieważ jest on zbędny — normalne przerwanie RIE już uruchamia NAPI i uzupełnia deskryptory. Dzięki temu zapobiega się przeciążeniu systemu przy jednoczesnym zachowaniu normalnej obsługi RX.

Ocena ryzyka

Ryzyko polega na możliwości wystąpienia burzy przerwań MAC (obserwowano ~695x więcej przerwań niż faktycznych zakończeń RX), co może prowadzić do znacznego obciążenia CPU, spadku wydajności sieci, a w skrajnych przypadkach do braku postępu w obsłudze RX (zakleszczenie DMA).

Rekomendacja

Zaleca się jak najszybsze zaktualizowanie jądra Linux do wersji zawierającej tę poprawkę (commit usuwający RBUE z XGMAC_DMA_INT_DEFAULT_EN i XGMAC_DMA_INT_DEFAULT_RX). Po aktualizacji należy monitorować licznik rx_buf_unav_irq (będzie zawsze 0 na XGMAC2) oraz sprawdzić stabilność pracy sieci pod dużym obciążeniem.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS