CVE-2026-98557 in Linux
Zusammenfassung
von VulDB • 18.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
gve: DQO: Korrektur der Header-Länge, die von gve_can_send_tso() für UDP GSO verwendet wird
gve_can_send_send_tso() berechnet, wie viele Puffer jeder Segment eines GSO-Pakets umfassen würde. Dazu benötigt es die Länge der Header, die das Gerät vor jedes Segment repliziert.
Es wird bedingungslos skb_tcp_all_headers() verwendet, welches das doff-Feld des TCP-Headers liest. SKB_GSO_UDP_L4-Pakete besitzen keinen TCP-Header: tcp_hdrlen() liest daraufhin ein Byte des UDP-Nutzdatens, und header_len kann beliebige Werte im Bereich [0, 60] annehmen, statt der Transportoffset plus die acht Bytes des UDP-Headers, die gve_prep_tso() in den TSO-Kontextdeskriptor programmiert.
Eine falsche Header-Länge verschiebt alle Segmentgrenzen, die in der Schleife berechnet werden, sodass die Anzahl der Puffer pro Segment überschätzt oder unterschätzt wird. Im ersten Fall wird GSO für dieses Paket von gve_features_check_dqo() unnötig deaktiviert und das Stack-System muss es segmentieren. Im zweiten Fall übergibt der Treiber dem Gerät ein Paket, dessen Segmente mehr als GVE_TX_MAX_DATA_DESCS Puffer umfassen.
Verwenden Sie die UDP-Header-Länge für SKB_GSO_UDP_L4-Pakete, entsprechend dem Vorgehen von gve_prep_tso().
If you want to get best quality of vulnerability data, you may have to visit VulDB.