In the Linux kernel, the following vulnerability has been resolved:
ipvs: fix more places with wrong ipv6 transport offsets
Sashiko reports for more incorrect IPv6 transport offsets.
The app code for TCP was assuming IPv4 network header
even after the ipvsh argument was provided. This can
cause problems with apps over IPv6. As for the only
official app in the kernel tree (FTP) this problem is
harmless because we use Netfilter to mangle the FTP
ports and we do not adjust the TCP seq numbers.
Also, provide correct offset of the ICMPV6 header in
ip_vs_out_icmp_v6() for correct checksum checks when
the IPv6 packet has extension headers.
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8
AV:N - The bug is triggered when remote IPv6 packets traverse IPVS netfilter hooks (NF_INET_LOCAL_IN/OUT/FORWARD) on an internet-facing load balancer; attackers send crafted IPv6 traffic with extension headers to a configured virtual service without local access.
AC:L - The attacker fully controls IPv6 extension headers and TCP/ICMPv6 packet contents on connections they initiate to the VIP; no race or privileged victim state is required beyond normal IPVS load-balancer operation.
PR:N - Exploitation requires only the ability to send network traffic to an IPVS-managed VIP; the attacker needs no account or capabilities on the target host (IPVS configuration is an environmental prerequisite, not attacker privilege).
UI:N - No victim user interaction is required beyond the attacker sending malicious IPv6 packets over an established or new connection to the load-balanced service.
S:U - Impact is confined to kernel memory corruption and packet handling within the load-balancer host; it does not cross a VM, container, or IOMMU security boundary.
C:H - Using ip_hdrlen() on IPv6 skbs reads TCP sequence/ack fields from the wrong skb offset (into the IPv6 header or extension-header area), constituting an out-of-bounds read exploitable for information disclosure.
I:H - In ip_vs_out_icmp_v6, passing sizeof(ipv6hdr) instead of ipvsh->len causes ip_vs_nat_icmp_v6 to write ICMP/address/port fields at the wrong skb offset, corrupting extension headers or adjacent packet data.
A:H - Corrupting IPv6/ICMP/TCP header fields in the skb can cause kernel oops, panics, or connection disruption on the load balancer when malformed packets are processed or forwarded.
| Attack Vector |
Network |
Scope |
Unchanged |
| Attack Complexity |
Low |
Confidentiality Impact |
High |
| Privileges Required |
None |
Integrity Impact |
High |
| User Interaction |
None |
Availability Impact |
High |
AV:N - The bug is triggered when remote IPv6 packets traverse IPVS netfilter hooks (NF_INET_LOCAL_IN/OUT/FORWARD) on an internet-facing load balancer; attackers send crafted IPv6 traffic with extension headers to a configured virtual service without local access.
AC:L - The attacker fully controls IPv6 extension headers and TCP/ICMPv6 packet contents on connections they initiate to the VIP; no race or privileged victim state is required beyond normal IPVS load-balancer operation.
PR:N - Exploitation requires only the ability to send network traffic to an IPVS-managed VIP; the attacker needs no account or capabilities on the target host (IPVS configuration is an environmental prerequisite, not attacker privilege).
UI:N - No victim user interaction is required beyond the attacker sending malicious IPv6 packets over an established or new connection to the load-balanced service.
S:U - Impact is confined to kernel memory corruption and packet handling within the load-balancer host; it does not cross a VM, container, or IOMMU security boundary.
C:H - Using ip_hdrlen() on IPv6 skbs reads TCP sequence/ack fields from the wrong skb offset (into the IPv6 header or extension-header area), constituting an out-of-bounds read exploitable for information disclosure.
I:H - In ip_vs_out_icmp_v6, passing sizeof(ipv6hdr) instead of ipvsh->len causes ip_vs_nat_icmp_v6 to write ICMP/address/port fields at the wrong skb offset, corrupting extension headers or adjacent packet data.
A:H - Corrupting IPv6/ICMP/TCP header fields in the skb can cause kernel oops, panics, or connection disruption on the load balancer when malformed packets are processed or forwarded.
CVSS 3.1