{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-63925",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-07-19T07:54:57.021Z",
        "datePublished": "2026-07-19T14:55:26.442Z",
        "dateUpdated": "2026-08-05T12:37:20.197Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T12:37:20.197Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "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)."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H",
                        "baseScore": 8.1,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "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."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/net/macsec.c"
                    ],
                    "versions": [
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "dd7306779c6ce1238f4cdc34f3c1f2246b854457",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "d15130461df388136b62a7b0ce9f66e7e2fa9ff1",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "23c0e230eab397d7f68be2538790ac41d3bb91fd",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "679e13a65e68a67c8b3c0467c02ee89157ec6f0f",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "79495a1b0944fe31ffd54b54b00211b493590d62",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "6d00f5c7e5ff7ec4795b7f5f8ed88bd346641652",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "d55acbe577db892b60547b6ef1c020b359331a6d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "a21ecf0e033807b976967286e6c392f48ee2049f",
                            "lessThan": "e68842b3356471ba56c882209f324613dac47f64",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/net/macsec.c"
                    ],
                    "versions": [
                        {
                            "version": "5.7",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.7",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.259",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.210",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.176",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.143",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.93",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.35",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.0.12",
                            "lessThanOrEqual": "7.0.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "5.10.259"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "5.15.210"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "6.1.176"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "6.6.143"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "6.12.93"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "6.18.35"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "7.0.12"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.7",
                                    "versionEndExcluding": "7.1"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/dd7306779c6ce1238f4cdc34f3c1f2246b854457"
                },
                {
                    "url": "https://git.kernel.org/stable/c/d15130461df388136b62a7b0ce9f66e7e2fa9ff1"
                },
                {
                    "url": "https://git.kernel.org/stable/c/23c0e230eab397d7f68be2538790ac41d3bb91fd"
                },
                {
                    "url": "https://git.kernel.org/stable/c/679e13a65e68a67c8b3c0467c02ee89157ec6f0f"
                },
                {
                    "url": "https://git.kernel.org/stable/c/79495a1b0944fe31ffd54b54b00211b493590d62"
                },
                {
                    "url": "https://git.kernel.org/stable/c/6d00f5c7e5ff7ec4795b7f5f8ed88bd346641652"
                },
                {
                    "url": "https://git.kernel.org/stable/c/d55acbe577db892b60547b6ef1c020b359331a6d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e68842b3356471ba56c882209f324613dac47f64"
                }
            ],
            "title": "macsec: fix replay protection at XPN lower-PN wrap",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}