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

macsec: fix replay protection at XPN lower-PN wrap

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.93, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: macsec: fix replay protection at XPN lower-PN wrap In macsec_post_decrypt(), when pn is U32_MAX, pn + 1 overflows u32 to 0 and the first branch never fires. If next_pn_halves.lower is also in the upper half, pn_same_half(pn, lower) is true and the XPN else-if does not fire either, leaving next_pn_halves unchanged. An attacker that captures the legitimate frame carrying pn == 0xFFFFFFFF on an XPN association can then replay it indefinitely, since lowest_pn never rises above the captured pn and macsec_decrypt() reconstructs the same IV. Extend the XPN else-if to also fire when pn + 1 wraps to 0, so receipt of pn == U32_MAX advances next_pn_halves to (upper + 1, 0).

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in dd7306779c6ce1238f4cdc34f3c1f2246b854457; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in d15130461df388136b62a7b0ce9f66e7e2fa9ff1; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in 23c0e230eab397d7f68be2538790ac41d3bb91fd; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in 679e13a65e68a67c8b3c0467c02ee89157ec6f0f; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in 79495a1b0944fe31ffd54b54b00211b493590d62; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in 6d00f5c7e5ff7ec4795b7f5f8ed88bd346641652; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in d55acbe577db892b60547b6ef1c020b359331a6d; From a21ecf0e033807b976967286e6c392f48ee2049f · fixed in e68842b3356471ba56c882209f324613dac47f64

  • Linux Linux

    5.7

  • KernelLinux

    From 5.7.0 · fixed in 5.10.259; From 5.11.0 · fixed in 5.15.210; From 5.16.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.143; From 6.7.0 · fixed in 6.12.93; From 6.13.0 · fixed in 6.18.35; From 6.19.0 · fixed in 7.0.12

References 8

git.kernel.org