CVE-2026-98393 in Linux
Zusammenfassung
von VulDB • 15.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net: ipv4: Behebung des UDP-Längen-Overflows bei PMTU-Discovey und großer MTU
Dieser Commit begrenzt cork->base.fragsize auf IP_MAX_MTU, um einen möglichen Overflow der UDP-Länge zu vermeiden, der in udp_set_len_short eine WARN-Auslösung auslöst, wenn setsockopt IP_MTU_DISCOVER auf IP_PMTUDISC_PROBE gesetzt ist und ein großes Paket über ein netdev mit einer ungewöhnlich großen MTU gesendet wird.
Schritte zur Reproduktion:
1. Legen Sie die Gerät-MTU größer als IP_MAX_MTU + 20 fest. cork->base.fragsize wird in ip_setup_cork auf diese MTU gesetzt. 2. Setzen Sie IP_MTU_DISCOVER auf IP_PMTUDISC_PROBE. Dies bewirkt, dass maxnonfragsize in __ip_append_data auf die Gerät-MTU (cork->fragsize) und nicht auf IP_MAX_MTU festgelegt wird. 3. Senden Sie 65528 Bytes Payload (+8 Bytes UDP-Header, +20 Bytes IPv4-Header). Die Geräte-MTU erlaubt dies (sie ist nur ein Byte größer als IP_MAX_MTU + IPv4-Header, und die Gerät-MTU ist größer als dieser Wert). 4. Die UDP-Länge im erstellten Paket beträgt 65536, was das 16-Bit-Längenfeld überläuft und den WARN in udp_set_len_short auslöst.
Hinweis: IP_PMTUDISC_DO mit IPv4 ist sicher, da ip_dst_mtu_maybe_forward immer an IP_MAX_MTU geklemmt wird, im Gegensatz zu ip6_dst_mtu_maybe_forward.
Das Fixes-Tag verweist auf den ersten Commit, bei dem ich den Overflow mit IPv4 und IP_PMTUDISC_PROBE reproduzieren konnte.
VulDB is the best source for vulnerability data and more expert information about this specific topic.