Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-63925

CVE-2026-63925: Linux Kernel MACsec Replay Vulnerability

CVE-2026-63925 is a replay protection flaw in Linux kernel MACsec that allows attackers to replay captured frames indefinitely when packet number wraps at XPN lower-PN. This post covers technical details, impact, and mitigation.

Published:

CVE-2026-63925 Overview

CVE-2026-63925 is a Linux kernel vulnerability in the MACsec (Media Access Control Security) subsystem. The flaw resides in macsec_post_decrypt() and affects Extended Packet Number (XPN) replay protection. When the packet number (PN) reaches U32_MAX (0xFFFFFFFF), an integer overflow causes replay protection logic to fail. An attacker on the adjacent network who captures the legitimate frame carrying pn == 0xFFFFFFFF on an XPN association can replay it indefinitely.

Critical Impact

An adjacent-network attacker can bypass MACsec XPN replay protection and inject captured frames indefinitely, undermining integrity and availability of protected Layer 2 communications.

Affected Products

  • Linux Kernel (mainline, prior to fix commits)
  • Linux Kernel stable branches receiving backports 23c0e230eab3, 679e13a65e68, 6d00f5c7e5ff, 79495a1b0944, d15130461df3, d55acbe577db, dd7306779c6c, e68842b33564
  • Systems using MACsec XPN cipher suites (GCM-AES-XPN-128, GCM-AES-XPN-256)

Discovery Timeline

  • 2026-07-19 - CVE-2026-63925 published to NVD
  • 2026-07-20 - Last updated in NVD database

Technical Details for CVE-2026-63925

Vulnerability Analysis

MACsec provides Layer 2 authentication, integrity, and optional confidentiality between directly connected network peers. Extended Packet Number (XPN) mode uses a 64-bit packet number split into upper and lower 32-bit halves to permit longer key lifetimes without rekeying. Replay protection tracks the next expected PN through the next_pn_halves structure.

The vulnerability is an integer overflow [CWE-190] in the replay window advancement logic. When macsec_post_decrypt() computes pn + 1 on a u32 value of 0xFFFFFFFF, the result wraps to 0. The first conditional branch, which advances next_pn_halves.lower on normal PN progression, does not fire because pn + 1 == 0 fails its comparison. If next_pn_halves.lower also falls in the upper half of the number space, pn_same_half(pn, lower) returns true and the XPN else-if branch is also skipped. The result: next_pn_halves is never updated when pn == U32_MAX.

Root Cause

The root cause is missing overflow handling in the XPN branch of the replay window advancement code. The logic assumes pn + 1 always exceeds pn, an assumption that fails at the u32 boundary. Because lowest_pn never advances past the captured PN, macsec_decrypt() reconstructs the same initialization vector (IV) on each replay, and the frame passes integrity verification.

Attack Vector

Exploitation requires adjacent-network access to a MACsec-protected link using an XPN cipher suite. An attacker captures the legitimate frame carrying pn == 0xFFFFFFFF and retransmits it. Because the receiver does not advance its replay window, each replay is accepted as valid, breaking replay protection guarantees and enabling frame injection at the point of packet-number rollover.

The fix extends the XPN else-if condition to also fire when pn + 1 wraps to 0, ensuring receipt of pn == U32_MAX advances next_pn_halves to (upper + 1, 0).

Detection Methods for CVE-2026-63925

Indicators of Compromise

  • Repeated MACsec frames with identical packet number 0xFFFFFFFF observed on an XPN-protected link
  • Unexpected duplication of Layer 2 traffic on interfaces configured with GCM-AES-XPN cipher suites
  • MACsec statistics showing InPktsOK incrementing without corresponding next_pn advancement

Detection Strategies

  • Monitor kernel version and MACsec configuration across Linux hosts, flagging systems running unpatched kernels with XPN cipher suites enabled
  • Inspect MACsec Secure Association (SA) counters through ip macsec show and correlate InPktsOK counts against packet-number progression
  • Deploy Layer 2 traffic monitoring on trunks carrying MACsec-XPN traffic to identify frames sharing identical PN values

Monitoring Recommendations

  • Ingest kernel logs and MACsec statistics into a centralized data lake for cross-host correlation of anomalous PN behavior
  • Alert on any Secure Channel where the same PN value is observed across multiple accepted frames within a short window
  • Track kernel package inventory to identify hosts missing the upstream MACsec replay-protection patches

How to Mitigate CVE-2026-63925

Immediate Actions Required

  • Inventory all Linux systems using MACsec with XPN cipher suites (GCM-AES-XPN-128, GCM-AES-XPN-256) and prioritize them for patching
  • Apply the upstream kernel fix or the corresponding stable-branch backport for your distribution
  • Rotate MACsec keys on any association where a PN rollover event may have occurred while running an unpatched kernel

Patch Information

The fix is available in the following Linux kernel commits: 23c0e230eab3, 679e13a65e68, 6d00f5c7e5ff, 79495a1b0944, d15130461df3, d55acbe577db, dd7306779c6c, and e68842b33564. The patch extends the XPN else-if branch in macsec_post_decrypt() to fire when pn + 1 wraps to 0, advancing next_pn_halves to (upper + 1, 0) on receipt of pn == U32_MAX. See the Linux Kernel Patch 23c0e230eab3 for the mainline commit and follow the corresponding stable-tree references for backports.

Workarounds

  • Where patching is delayed, rekey MACsec associations more frequently to reduce the probability of reaching pn == 0xFFFFFFFF before a Secure Association Key (SAK) rotation
  • Consider switching from XPN cipher suites to non-XPN suites (GCM-AES-128, GCM-AES-256) with aggressive rekeying policies if operationally feasible
  • Restrict physical and adjacent-network access to MACsec-protected links to reduce opportunities for frame capture and replay

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.