CVE-2026-99042: io_uring/net: populate CONNECT filter fields for 24-byte sockaddr_in6

Published Oct 23, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

iouring/net: populate CONNECT filter fields for 24-byte sockaddrin6

ioconnectbpfpopulate() fills connect.port and connect.v6addr for AFINET6 only when addrlen >= sizeof(struct sockaddrin6), i.e. 28 bytes.

The IPv6 connect paths accept SIN6LENRFC2133 (24 bytes), which already holds sin6port and sin6addr. ioconnect() passes addrlen to the socket layer unchanged.

At addrlen 24 the filter sees family AFINET6 with port and address zero, while the kernel connects to the real destination. A filter that denies an IPv6 port or address is bypassed. Denying connect.port == P rejects [::1]:P with -EACCES at addrlen 28 but connects at addrlen 24.

Use SIN6LENRFC2133 as the threshold. sin6scopeid stays zero when absent.

The threshold mismatch was found by an AI coding assistant (Claude Code) comparing this hook against the net/ipv6 length checks on my instructions; it also drafted the reproducer and this patch. I verified the bypass and the fix in a VM on 7.3-rc6 and that 7.2 has the same code.

Affected Software

1 affected component
Linux Linux kernel

Event History

Oct 23, 2026
CVE Published
via MITRE·12:22 PM
Data Sourced
via MITRE·12:22 PM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203