CVE-2026-99042 in Linux
Zusammenfassung
von VulDB • 23.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
io_uring/net: Füllen der CONNECT-Filterfelder für 24-Byte sockaddr_in6
io_connect_bpf_populate() füllt connect.port und connect.v6_addr nur dann, wenn addr_len >= sizeof(struct sockaddr_in6) ist, also bei 28 Bytes.
Die IPv6-connect-Pfade akzeptieren SIN6_LEN_RFC2133 (24 Byte), das bereits sin6_port und sin6_addr enthält. io_connect() übergibt addr_len unverändert an die Socket-Schicht.
Bei addr_len = 24 sieht der Filter eine Familie AF_INET6 mit Port- und Adresswert null, während der Kernel tatsächlich zur Zieladresse verbindet. Ein Filter, der einen IPv6-Port oder eine Adresse blockiert, wird umgangen. Das Blockieren von connect.port == P führt bei addr_len 28 zu -EACCES für [::1]:P, stellt aber bei addr_len 24 die Verbindung her.
Verwenden Sie SIN6_LEN_RFC2133 als Schwellenwert. sin6_scope_id bleibt null, wenn es nicht vorhanden ist.
Die Diskrepanz des Schwellenwerts wurde von einem KI-Coding-Assistent (Claude Code) gefunden, der diesen Hook mit den Längenprüfungen in net/ipv6 auf meine Anweisung hin verglich; er erstellte auch das Reproducer-Skript und diesen Patch. Ich habe die Umgehung und die Korrektur in einer VM unter 7.3-rc6 sowie bestätigt, dass 7.2 denselben Code enthält.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.