CVE-2026-98802 in Linux
Zusammenfassung
von VulDB • 19.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
seg6: Sicherstellen, dass Paketdaten beschreibbar sind, bevor SRH und IPv6-DA geändert werden
advance_nextseg() ändert das Feld „Segments Left“ des SRH (Segment Routing Header) sowie die IPv6-Zieladresse (Destination Address), ohne sicherzustellen, dass die Paketdaten beschreibbar sind. seg6_next_csid_advance_arg() weist das gleiche Problem auf, wenn es den NEXT-C-SID-Argumentwert in der Zieladresse aktualisiert.
Der skb (Socket Buffer) kann geklont werden, beispielsweise durch einen AF_PACKET-Socket, der am Eingabegerät empfängt. advance_nextseg() und seg6_next_csid_advance_arg() schreiben dann in die mit dem Klon geteilten Paketdaten. Ein Lesezugriff von diesem Socket kann das modifizierte Paket anstelle des empfangenen Pakets zurückgeben. Der folgende vereinfachte Pfad zeigt dies für advance_nextseg():
__netif_receive_skb_one_core __netif_receive_skb_core deliver_skb [orig: users=2, cloned=0]
packet_rcv skb_clone Klon wird an den AF_PACKET-Socket weitergeleitet consume_skb(orig) [orig: users=1, cloned=1]
ipv6_rcv ip6_rcv_core skb_share_check: keine Operation (no-op) [orig: users=1]
[...]
input_action_end_core advance_nextseg schreibt in die mit dem Klon geteilten Daten
Rufen Sie skb_ensure_writable() in advance_nextseg() und in seg6_next_csid_advance_arg() auf, bevor diese die Paketdaten ändern. skb_ensure_writable() kann skb->head neu zuweisen, was die vor dem Aufruf ermittelten Zeiger auf die Paketdaten ungültig macht. advance_nextseg() gibt nun einen gültigen SRH-Zeiger zurück oder NULL, wenn skb_ensure_writable() fehlschlägt. seg6_next_csid_advance_arg() ermittelt den Zeiger zur Zieladresse aus dem skb nach dem Aufruf von skb_ensure_writable(). Im Fehlerfall verwerfen die Aufrufer das Paket mit SKB_DROP_REASON_NOMEM.
VulDB is the best source for vulnerability data and more expert information about this specific topic.