Skip to main content
← All vulnerabilities
CVE-2026-80844

xfrm: ah6: validate routing header segments_left

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.269, 5.15.220, 6.1.187, 6.6.156, 6.12.108, and 3 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: xfrm: ah6: validate routing header segments_left AH6 rearranges routing-header addresses before computing or verifying the ICV. ipv6_rearrange_rthdr() assumes that segments_left 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 segments_left value. With segments_left 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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 2dc650956e4e163b879b3fb1027f9557abc5c985; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 48b0e36cf54358276ee7aa897034c973097d2bc9; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 1b7e066eabcc7d6d8f476c34739b45932f2f4c31; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in f00df8500e5a36ba70d336fd34bd2152ea074e5f; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 1516e31ac458a738be485620579d8f7fb2700fcb; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 6733ae71268a27d598cfb3f3339a3c950b9b656d; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 0bf11081ad3753938a2b48723ce6298dbac743a1; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 46640c814f25f096b0b0045ca50e1b7030cd8a30; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 7bad4bda74dc4713f398d3b7624ff05478e3a568

  • Linux Linux

    2.6.12

  • KernelLinux

    From 2.6.12 · fixed in 5.10.269; From 5.11.0 · fixed in 5.15.220; From 5.16.0 · fixed in 6.1.187; From 6.2.0 · fixed in 6.6.156; From 6.7.0 · fixed in 6.12.108; From 6.13.0 · fixed in 6.18.49; From 6.19.0 · fixed in 7.1.13; From 7.2.0 · fixed in 7.2.3

References 9

git.kernel.org