CVE-2026-63925

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).

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < dd7306779c6ce1238f4cdc34f3c1f2246b854457affected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < d15130461df388136b62a7b0ce9f66e7e2fa9ff1affected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < 23c0e230eab397d7f68be2538790ac41d3bb91fdaffected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < 679e13a65e68a67c8b3c0467c02ee89157ec6f0faffected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < 79495a1b0944fe31ffd54b54b00211b493590d62affected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < 6d00f5c7e5ff7ec4795b7f5f8ed88bd346641652affected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < d55acbe577db892b60547b6ef1c020b359331a6daffected
LinuxLinuxa21ecf0e033807b976967286e6c392f48ee2049f < e68842b3356471ba56c882209f324613dac47f64affected
LinuxLinux5.7affected
LinuxLinux0 < 5.7unaffected
LinuxLinux5.10.259 <= 5.10.*unaffected
LinuxLinux5.15.210 <= 5.15.*unaffected
LinuxLinux6.1.176 <= 6.1.*unaffected
LinuxLinux6.6.143 <= 6.6.*unaffected
LinuxLinux6.12.93 <= 6.12.*unaffected
LinuxLinux6.18.35 <= 6.18.*unaffected
LinuxLinux7.0.12 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References