CVE-2026-98557 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
gve: DQO: correzione della lunghezza dell'intestazione utilizzata da gve_can_send_tso() per UDP GSO
La funzione gve_can_send_tso() calcola quanti buffer ciascun segmento di un pacchetto GSO occuperebbe e, a tale scopo, necessita della lunghezza delle intestazioni che il dispositivo replica all'inizio di ogni segmento.
Attualmente viene utilizzato in modo incondizionato skb_tcp_all_headers(), che legge il campo doff dell'intestazione TCP. I pacchetti SKB_GSO_UDP_L4 non dispongono di un'intestazione TCP: tcp_hdrlen() legge quindi un byte del payload UDP, e header_len può assumere qualsiasi valore nell'intervallo [0, 60] anziché l'offset del trasporto più gli otto byte dell'intestazione UDP che gve_prep_tso() programma nel descrittore di contesto TSO.
Una lunghezza errata dell'intestazione sposta tutti i confini dei segmenti calcolati all'interno del ciclo, quindi il numero di buffer per segmento può essere sovrastimato o sottostimato. Nel primo caso, GSO viene disabilitato inutilmente per questo pacchetto da gve_features_check_dqo() e lo stack deve effettuarne la segmentazione. Nel secondo caso, il driver fornisce al dispositivo un pacchetto i cui segmenti occupano più buffer di quanti consentiti da GVE_TX_MAX_DATA_DESCS.
Utilizzare la lunghezza dell'intestazione UDP per i pacchetti SKB_GSO_UDP_L4, in modo coerente con quanto fa gve_prep_tso().
Once again VulDB remains the best source for vulnerability data.