Katalog CVE

CVE-2026-98052

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

Streszczenie

W jądrze Linux w sterowniku sieciowym bcmasp funkcja bcmasp_xmit() ustawiała txcb->last = true tylko dla ostatniego fragmentu SKB, pozostawiając pole niezmienione dla wcześniejszych fragmentów. Jeśli slot deskryptora został ponownie użyty z nieaktualną wartością true z poprzedniego SKB, bcmasp_tx_reclaim() mogło przedwcześnie zwolnić sk_buff, podczas gdy jego pozostałe fragmenty były jeszcze w locie.

Ocena ryzyka

Przedwczesne zwolnienie bufora sieciowego może prowadzić do uszkodzenia pamięci, awarii systemu lub potencjalnego wykonania dowolnego kodu, zwłaszcza w systemach używających tego sterownika sieciowego.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką, która bezwarunkowo czyści txcb->last przed warunkowym ustawieniem, zapewniając znany stan false dla każdego slotu deskryptora.

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: bcmasp: clear txcb->last before writing each descriptor bcmasp_xmit() only wrote txcb->last = true for the final fragment of an SKB; non-final fragments left the field untouched. If a descriptor slot was reused while it still held a stale true from a previous SKB (possible when tx_spb_ring_full() underreported fullness), bcmasp_tx_reclaim() would see last == true mid-SKB and call dev_consume_skb_any() prematurely, freeing the sk_buff while its remaining fragments were still in flight. Unconditionally clear txcb->last before the conditional set so every descriptor slot starts from a known false state regardless of what a prior transmission left behind.

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