CVE-2026-74661 (GCVE-0-2026-74661)
Vulnerability from cvelistv5 – Published: 2026-08-22 15:32 – Updated: 2026-08-25 05:41
VLAI
EPSS
VEX
Title
mac802154: fix netdev use-after-free in beacon worker
Summary
In the Linux kernel, the following vulnerability has been resolved:
mac802154: fix netdev use-after-free in beacon worker
mac802154_beacon_worker() reads local->beacon_req under RCU and derives
the sub-interface from the request, but then drops the RCU read lock and
continues to use both sdata and the embedded wpan_dev.
mac802154_stop_beacons_locked() cancels only pending beacon work, clears
local->beacon_req and frees the request. A beacon worker that is already
running can therefore continue after interface teardown and dereference
the freed netdev private area.
The scan worker already pins the netdev before leaving RCU. Apply the
same lifetime rule to the beacon worker: take a netdev reference while
the request is still protected by RCU, and release it on all paths that
continue after the reference is acquired.
Severity
7.8 (High)
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
3accf4762734a69ebd03cba989249c78ac7dfc7e , < fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517
(git)
Affected: 3accf4762734a69ebd03cba989249c78ac7dfc7e , < e5fb0e03bc7f45508c182a427357bf6b389a9033 (git) Affected: 3accf4762734a69ebd03cba989249c78ac7dfc7e , < e6cd416a899edc912b428c4ba399bd73f516cb31 (git) Affected: 3accf4762734a69ebd03cba989249c78ac7dfc7e , < 9d067e581597c462c51fee8a30b51bc48a68c4e1 (git) Affected: 3accf4762734a69ebd03cba989249c78ac7dfc7e , < 5f26a690e8efa54315e4922368daf54e0b8f5515 (git) |
guessed | |
| Linux | Linux |
Affected:
6.3
Unaffected: 0 , < 6.3 (semver) Unaffected: 6.6.152 , ≤ 6.6.* (semver) Unaffected: 6.12.104 , ≤ 6.12.* (semver) Unaffected: 6.18.45 , ≤ 6.18.* (semver) Unaffected: 7.1.9 , ≤ 7.1.* (semver) Unaffected: 7.2 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/mac802154/scan.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517",
"status": "affected",
"version": "3accf4762734a69ebd03cba989249c78ac7dfc7e",
"versionType": "git"
},
{
"lessThan": "e5fb0e03bc7f45508c182a427357bf6b389a9033",
"status": "affected",
"version": "3accf4762734a69ebd03cba989249c78ac7dfc7e",
"versionType": "git"
},
{
"lessThan": "e6cd416a899edc912b428c4ba399bd73f516cb31",
"status": "affected",
"version": "3accf4762734a69ebd03cba989249c78ac7dfc7e",
"versionType": "git"
},
{
"lessThan": "9d067e581597c462c51fee8a30b51bc48a68c4e1",
"status": "affected",
"version": "3accf4762734a69ebd03cba989249c78ac7dfc7e",
"versionType": "git"
},
{
"lessThan": "5f26a690e8efa54315e4922368daf54e0b8f5515",
"status": "affected",
"version": "3accf4762734a69ebd03cba989249c78ac7dfc7e",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/mac802154/scan.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.3"
},
{
"lessThan": "6.3",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.152",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.104",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.45",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.152",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.104",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.45",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.9",
"versionStartIncluding": "6.3",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.3",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmac802154: fix netdev use-after-free in beacon worker\n\nmac802154_beacon_worker() reads local-\u003ebeacon_req under RCU and derives\nthe sub-interface from the request, but then drops the RCU read lock and\ncontinues to use both sdata and the embedded wpan_dev.\n\nmac802154_stop_beacons_locked() cancels only pending beacon work, clears\nlocal-\u003ebeacon_req and frees the request. A beacon worker that is already\nrunning can therefore continue after interface teardown and dereference\nthe freed netdev private area.\n\nThe scan worker already pins the netdev before leaving RCU. Apply the\nsame lifetime rule to the beacon worker: take a netdev reference while\nthe request is still protected by RCU, and release it on all paths that\ncontinue after the reference is acquired."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - Exploitation requires local nl802154 generic-netlink syscalls (NL802154_CMD_SEND_BEACONS/STOP_BEACONS) or closing the wpan netdev; the UAF is in beacon workqueue teardown, not in remote 802.15.4 frame parsing, matching netlink-local kernel guidance.\nAC:L - An attacker with CAP_NET_ADMIN controls both sides of the race by starting beaconing then immediately issuing STOP_BEACONS or DEL_INTERFACE while mac802154_transmit_beacon() keeps the worker running; cancel_delayed_work() does not stop in-flight work, making the UAF reliably triggerable.\nPR:L - Starting/stopping beaconing and deleting wpan interfaces require GENL_ADMIN_PERM (netlink_capable CAP_NET_ADMIN); this is reachable from an unprivileged UID via a user namespace (unshare -Urn), not init-namespace root, consistent with mac802154_hwsim and nl802154 gating.\nUI:N - No victim interaction is required; the attacker triggers the race entirely through their own netlink and interface lifecycle operations without needing another user to click, pair, or mount anything.\nS:U - The use-after-free corrupts kernel heap memory (netdev private ieee802154_sub_if_data) within the same kernel security boundary; it does not cross VM, container, or IOMMU isolation boundaries on its own.\nC:H - Use-after-free of the netdev private area (ieee802154_sub_if_data) after interface teardown allows reading freed slab memory; UAF primitives commonly enable arbitrary kernel memory disclosure via heap grooming.\nI:H - The dangling sdata/wpan_dev pointers enable heap-based memory corruption; UAF of netdev private structures is exploitable for control-flow hijacking and arbitrary kernel write primitives via slab reuse.\nA:H - Concurrent interface teardown while the beacon worker dereferences freed netdev private memory causes kernel oops/panic (KASAN slab-use-after-free), and successful exploitation can crash or hang the system."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-25T05:41:15.528Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517"
},
{
"url": "https://git.kernel.org/stable/c/e5fb0e03bc7f45508c182a427357bf6b389a9033"
},
{
"url": "https://git.kernel.org/stable/c/e6cd416a899edc912b428c4ba399bd73f516cb31"
},
{
"url": "https://git.kernel.org/stable/c/9d067e581597c462c51fee8a30b51bc48a68c4e1"
},
{
"url": "https://git.kernel.org/stable/c/5f26a690e8efa54315e4922368daf54e0b8f5515"
}
],
"title": "mac802154: fix netdev use-after-free in beacon worker",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74661",
"datePublished": "2026-08-22T15:32:34.414Z",
"dateReserved": "2026-08-15T05:44:03.924Z",
"dateUpdated": "2026-08-25T05:41:15.528Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-74661",
"date": "2026-08-29",
"epss": "0.00125",
"percentile": "0.02485"
},
"microsoft_vex": {
"current_release_date": "2026-08-24T14:43:00.000Z",
"cve": "CVE-2026-74661",
"id": "msrc_CVE-2026-74661",
"initial_release_date": "2026-08-24T01:09:31.000Z",
"product_status:known_affected": "1",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "mac802154: fix netdev use-after-free in beacon worker",
"url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-74661.json",
"version": "2"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-74661\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-22T16:16:39.883\",\"lastModified\":\"2026-08-25T06:18:47.263\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmac802154: fix netdev use-after-free in beacon worker\\n\\nmac802154_beacon_worker() reads local-\u003ebeacon_req under RCU and derives\\nthe sub-interface from the request, but then drops the RCU read lock and\\ncontinues to use both sdata and the embedded wpan_dev.\\n\\nmac802154_stop_beacons_locked() cancels only pending beacon work, clears\\nlocal-\u003ebeacon_req and frees the request. A beacon worker that is already\\nrunning can therefore continue after interface teardown and dereference\\nthe freed netdev private area.\\n\\nThe scan worker already pins the netdev before leaving RCU. Apply the\\nsame lifetime rule to the beacon worker: take a netdev reference while\\nthe request is still protected by RCU, and release it on all paths that\\ncontinue after the reference is acquired.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/mac802154/scan.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3accf4762734a69ebd03cba989249c78ac7dfc7e\",\"lessThan\":\"fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3accf4762734a69ebd03cba989249c78ac7dfc7e\",\"lessThan\":\"e5fb0e03bc7f45508c182a427357bf6b389a9033\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3accf4762734a69ebd03cba989249c78ac7dfc7e\",\"lessThan\":\"e6cd416a899edc912b428c4ba399bd73f516cb31\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3accf4762734a69ebd03cba989249c78ac7dfc7e\",\"lessThan\":\"9d067e581597c462c51fee8a30b51bc48a68c4e1\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"3accf4762734a69ebd03cba989249c78ac7dfc7e\",\"lessThan\":\"5f26a690e8efa54315e4922368daf54e0b8f5515\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/mac802154/scan.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.3\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.3\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.152\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.104\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.45\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.9\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"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\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/5f26a690e8efa54315e4922368daf54e0b8f5515\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9d067e581597c462c51fee8a30b51bc48a68c4e1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e5fb0e03bc7f45508c182a427357bf6b389a9033\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e6cd416a899edc912b428c4ba399bd73f516cb31\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fe820dcc1d8ff77783a9d2bcc93b98c99ac6d517\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-08-25T08:53:35+00:00",
"cve": "CVE-2026-74661",
"id": "CVE-2026-74661",
"initial_release_date": "2026-08-22T00:00:00+00:00",
"product_status:known_affected": "76",
"product_status:known_not_affected": "198",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: mac802154: fix netdev use-after-free in beacon worker",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74661.json",
"version": "3"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Loading…
Loading…