{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-63925",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-63925"
  ],
  "published": "2026-07-19T14:56:29Z",
  "summary": "macsec: fix replay protection at XPN lower-PN wrap",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nmacsec: fix replay protection at XPN lower-PN wrap\n\nIn macsec_post_decrypt(), when pn is U32_MAX, pn + 1 overflows u32 to 0\nand the first branch never fires. If next_pn_halves.lower is also in the\nupper half, pn_same_half(pn, lower) is true and the XPN else-if does not\nfire either, leaving next_pn_halves unchanged. An attacker that captures\nthe legitimate frame carrying pn == 0xFFFFFFFF on an XPN association\ncan then replay it indefinitely, since lowest_pn never rises above\nthe captured pn and macsec_decrypt() reconstructs the same IV.\n\nExtend the XPN else-if to also fire when pn + 1 wraps to 0, so receipt\nof pn == U32_MAX advances next_pn_halves to (upper + 1, 0).",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.176",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-63925"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/dd7306779c6ce1238f4cdc34f3c1f2246b854457"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d15130461df388136b62a7b0ce9f66e7e2fa9ff1"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/23c0e230eab397d7f68be2538790ac41d3bb91fd"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/679e13a65e68a67c8b3c0467c02ee89157ec6f0f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/79495a1b0944fe31ffd54b54b00211b493590d62"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/6d00f5c7e5ff7ec4795b7f5f8ed88bd346641652"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d55acbe577db892b60547b6ef1c020b359331a6d"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e68842b3356471ba56c882209f324613dac47f64"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T13:16:28Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 8.1,
      "cvss_v3_severity": "High",
      "scenario": "AV:A - MACsec processes attacker-supplied Ethernet frames via netdev rx_handler on the underlying link; exploitation requires L2 adjacency on the same broadcast domain or point-to-point MACsec link, not remote Internet reachability.\nAC:L - Once XPN with replay protection is deployed, an on-link attacker can passively capture the single legitimate frame at PN 0xFFFFFFFF and then replay it reliably and indefinitely without races or conditions outside their control.\nPR:N - Exploitation requires only the ability to send or replay Ethernet frames on the MACsec link; no local privileges, capabilities, or authentication on the victim Linux host are needed.\nUI:N - Replay injection is fully attacker-driven after capturing the target frame; no victim user or administrator action is required during exploitation.\nS:U - The flaw bypasses MACsec replay protection within the kernel network stack and does not cross a security boundary such as a VM, container, or IOMMU isolation domain.\nC:N - This is a replay-protection logic flaw, not a memory corruption or decryption weakness; the attacker replays already-captured ciphertext and gains no new confidentiality beyond what passive capture already provided.\nI:H - Bypassing replay protection allows unlimited re-injection of previously authenticated payloads into the controlled port, defeating MACsec's integrity guarantees and enabling repeated delivery of captured control or data traffic on automotive, industrial, and datacenter MACsec links.\nA:H - The commit confirms captured frames can be replayed indefinitely, enabling sustained injection of decrypted traffic that can overwhelm the receiver and deny service to legitimate peers on the protected link."
    }
  }
}
