CVE-2026-80844: xfrm: ah6: validate routing header segments_left
In the Linux kernel, the following vulnerability has been resolved:
xfrm: ah6: validate routing header segmentsleft
AH6 rearranges routing-header addresses before computing or verifying the ICV. ipv6rearrangerthdr() assumes that segmentsleft is not larger than the number of addresses described by the routing header's hdrlen field.
That assumption does not hold for raw IPv6 HDRINCL packets. A packet with hdrlen equal to 2 describes one address, but can carry an arbitrary segmentsleft value. With segmentsleft equal to 255, the function moves its address pointer 4,064 bytes backwards and passes a 4,064-byte length to memmove(), resulting in an out-of-bounds access.
Validate the invariant locally before modifying the routing header or performing any address-pointer arithmetic, and propagate malformed-header errors to the existing AH6 input and output error paths.
Affected Software
Event History
Frequently Asked Questions
What conditions are required to trigger the out-of-bounds access?
An attacker needs to supply a raw IPv6 HDRINCL packet containing a routing header whose segments_left value exceeds the number of addresses represented by its hdrlen field. The described example uses hdrlen 2, which describes one address, with segments_left set to 255.
Which traffic path is affected?
The issue is in AH6 processing for IPv6 routing headers, including both input verification and output computation paths. Malformed routing-header errors are propagated to the existing AH6 input and output error paths by the fix.
What happens if a malformed packet is processed by a vulnerable kernel?
The routing-header address pointer can be moved backwards by thousands of bytes and passed to memmove() with a corresponding oversized length. This results in an out-of-bounds memory access.
How can exposure be reduced if the fix cannot be deployed immediately?
The provided information identifies raw IPv6 HDRINCL packets with malformed routing headers as the trigger. Reducing acceptance or generation of such packets, particularly where AH6 processing is used, can reduce exposure; no specific configuration mitigation is provided.