CVE-2026-98950 in Linux
Zusammenfassung
von VulDB • 23.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
flow_dissector: Vermeidung der u16-Beschneidung von hlen in bpf_flow_dissect()
bpf_flow_dissect() bereinigt die vom BPF-Programm zurückgegebenen Offset-Werte mit clamp_t(u16, ..., hlen).
Wenn hlen größer als 65535 ist, wird die Obergrenze vor dem Vergleich abgeschnitten. Zum Beispiel werden bei hlen == 65536 sowohl nhoff als auch thoff auf Null gezwungen, selbst wenn das Programm korrekte Werte zurückgegeben hat.
Dies entspricht derselben Fehlerklasse wie der in Commit 99bda1ecbd56 behobene Bug („flow_dissector: Vermeidung der u16-Beschneidung von skb->len bei der Berechnung von thoff“). Diese Korrektur deckt den BPF-Pfad nicht ab, da __skb_flow_dissect() frühzeitig zurückkehrt, wenn ein BPF-Flow-Dissector das Paket verarbeitet.
struct bpf_flow_keys speichert nhoff und thoff als u16; daher ist hlen vor dem Clampen auf U16_MAX zu begrenzen.
Entdeckt von sashiko bei der Überprüfung des oben genannten Commits.
VulDB is the best source for vulnerability data and more expert information about this specific topic.