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

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

io_connect_bpf_populate() fills connect.port and connect.v6_addr for
AF_INET6 only when addr_len >= sizeof(struct sockaddr_in6), i.e. 28
bytes.

The IPv6 connect paths accept SIN6_LEN_RFC2133 (24 bytes), which
already holds sin6_port and sin6_addr. io_connect() passes addr_len to
the socket layer unchanged.

At addr_len 24 the filter sees family AF_INET6 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 addr_len 28 but connects at addr_len 24.

Use SIN6_LEN_RFC2133 as the threshold. sin6_scope_id 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.
Published: 2026-10-23
Score: 8.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of BPF CONNECT filter enforcement
Action: ApplyPatch
AI Analysis

Impact

The vulnerability occurs in the io_connect_bpf_populate function of the Linux kernel where IPv6 connect requests with a 24‑byte sockaddr_in6 structure are processed incorrectly. The code only populates the port and address fields when the length is at least 28 bytes, which is the full structure size. For a 24‑byte address the filter sees a destination with zeroed port and address, while the kernel still attempts to connect to the real target. As a result, a BPF CONNECT filter that denies traffic to specific ports or addresses can be bypassed, allowing connections to otherwise blocked destinations.

Affected Systems

The flaw is present in Linux kernel releases 7.2 through 7.3‑rc6, inclusive. Any distribution shipping one of these kernel versions is affected. This is inferred from the description, which lists the 7.3‑rc6 and 7.2 releases as having the same code. Distributions that compile the kernel with the buggy function are at risk regardless of other components.

Risk and Exploitability

A local attacker can trigger the bypass by issuing a connect system call with an IPv6 sockaddr_in6 of length 24. The CVSS score of 8.4 denotes a high severity impact, while the EPSS score of less than 1% indicates a low probability of exploitation. The vulnerability is not present in CISA’s KEV catalog. The primary risk is policy circumvention rather than full system compromise, enabling unauthorized outbound IPv6 traffic in environments that rely on BPF CONNECT filters.

Generated by OpenCVE AI on October 29, 2026 at 14:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the patch restoring the 28‑byte threshold for IPv6 connect operations
  • If a kernel update is not immediately possible, disable or remove BPF CONNECT filters that rely on port or address conditions until the kernel can be updated
  • Verify that any firewall or SELinux policies that use BPF CONNECT filters are re‑evaluated after the patch to ensure they enforce the intended restrictions

Generated by OpenCVE AI on October 29, 2026 at 14:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 12:15:00 +0000


Sat, 24 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Sat, 24 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Sat, 24 Oct 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N'}


Fri, 23 Oct 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: io_uring/net: populate CONNECT filter fields for 24-byte sockaddr_in6 io_connect_bpf_populate() fills connect.port and connect.v6_addr for AF_INET6 only when addr_len >= sizeof(struct sockaddr_in6), i.e. 28 bytes. The IPv6 connect paths accept SIN6_LEN_RFC2133 (24 bytes), which already holds sin6_port and sin6_addr. io_connect() passes addr_len to the socket layer unchanged. At addr_len 24 the filter sees family AF_INET6 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 addr_len 28 but connects at addr_len 24. Use SIN6_LEN_RFC2133 as the threshold. sin6_scope_id 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.
Title io_uring/net: populate CONNECT filter fields for 24-byte sockaddr_in6
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-24T14:10:09.161Z

Reserved: 2026-09-25T10:25:14.387Z

Link: CVE-2026-99042

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:27.610

Modified: 2026-10-24T14:16:53.347

Link: CVE-2026-99042

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-99042 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T15:00:22Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-807

    Reliance on Untrusted Inputs in a Security Decision