{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2022-48720",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2024-06-20T11:09:39.051Z",
        "datePublished": "2024-06-20T11:13:12.025Z",
        "dateUpdated": "2026-08-05T08:51:55.891Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:51:55.891Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: macsec: Fix offload support for NETDEV_UNREGISTER event\n\nCurrent macsec netdev notify handler handles NETDEV_UNREGISTER event by\nreleasing relevant SW resources only, this causes resources leak in case\nof macsec HW offload, as the underlay driver was not notified to clean\nit's macsec offload resources.\n\nFix by calling the underlay driver to clean it's relevant resources\nby moving offload handling from macsec_dellink() to macsec_common_dellink()\nwhen handling NETDEV_UNREGISTER event."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The bug is triggered by creating a HW-offloaded macsec device via RTNL (`ip link add type macsec offload ...`) and then causing NETDEV_UNREGISTER on the underlying real_dev (e.g. netns move); both are local netlink/syscall paths, not remote packet processing.\nAC:L - An attacker who can create an offloaded macsec and unregister/move the lower device reliably leaves dangling driver state (e.g. aquantia `sw_secy`, mscc `priv->secy`); a subsequent link event (`aq_macsec_enable` → `apply_txsc_cfg`) or PN-rollover interrupt deterministically dereferences the freed objects with no race required.\nPR:L - Creating the macsec link and moving/unregistering the underlying netdev require CAP_NET_ADMIN checked via `netlink_net_capable` against the netns user_ns, which an unprivileged user obtains with user+network namespaces when a MACsec-offload-capable device is present in that netns.\nUI:N - The attacker performs the RTNL setup and unregister/move themselves; no separate victim action is required.\nS:U - Impact stays within the host kernel networking/MACsec offload authority; there is no VM escape, IOMMU bypass, or other cross-boundary effect.\nC:H - Failing to call `mdo_del_secy` leaves underlay drivers holding pointers into freed `macsec_secy`/SA objects; that UAF can be leveraged for arbitrary kernel memory disclosure once the freed objects are reallocated.\nI:H - Post-unregister paths write through the dangling pointers (e.g. `macsec_pn_wrapped()` updating `tx_sa->active`/`secy->operational`, aquantia re-applying SecY config from `sw_secy`), yielding a UAF write primitive suitable for integrity compromise or code-execution primitives.\nA:H - Any use of the dangling SecY/SA state after SW teardown can oops/panic the kernel, and CVSS kernel guidance rates UAF availability impact as High even before full exploitation."
                        }
                    ]
                }
            ],
            "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": "3cf3227a21d1fb020fe26128e60321bd2151e922",
                            "lessThan": "2e7f5b6ee1a7a2c628253a95b0a95b582901ef1b",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3cf3227a21d1fb020fe26128e60321bd2151e922",
                            "lessThan": "e7a0b3a0806dae3cc81931f0e83055ca2ac6f455",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3cf3227a21d1fb020fe26128e60321bd2151e922",
                            "lessThan": "8299be160aad8548071d080518712dec0df92bd5",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "3cf3227a21d1fb020fe26128e60321bd2151e922",
                            "lessThan": "9cef24c8b76c1f6effe499d2f131807c90f7ce9a",
                            "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.6",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.6",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.99",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.22",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.16.8",
                            "lessThanOrEqual": "5.16.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.17",
                            "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.6",
                                    "versionEndExcluding": "5.10.99"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.6",
                                    "versionEndExcluding": "5.15.22"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.6",
                                    "versionEndExcluding": "5.16.8"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.6",
                                    "versionEndExcluding": "5.17"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/2e7f5b6ee1a7a2c628253a95b0a95b582901ef1b"
                },
                {
                    "url": "https://git.kernel.org/stable/c/e7a0b3a0806dae3cc81931f0e83055ca2ac6f455"
                },
                {
                    "url": "https://git.kernel.org/stable/c/8299be160aad8548071d080518712dec0df92bd5"
                },
                {
                    "url": "https://git.kernel.org/stable/c/9cef24c8b76c1f6effe499d2f131807c90f7ce9a"
                }
            ],
            "title": "net: macsec: Fix offload support for NETDEV_UNREGISTER event",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-06-20T15:49:59.493508Z",
                                "id": "CVE-2022-48720",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-06-20T15:50:07.599Z"
                }
            },
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-03T15:24:59.933Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://git.kernel.org/stable/c/2e7f5b6ee1a7a2c628253a95b0a95b582901ef1b",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/e7a0b3a0806dae3cc81931f0e83055ca2ac6f455",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/8299be160aad8548071d080518712dec0df92bd5",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://git.kernel.org/stable/c/9cef24c8b76c1f6effe499d2f131807c90f7ce9a",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            }
        ]
    }
}