CVE-2026-74661 (GCVE-0-2026-74661)
Vulnerability from cvelistv5
Published
2026-08-22 15:32
Modified
2026-08-25 05:41
Severity ?
VLAI Severity ?
EPSS score ?
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.
References
Impacted products
{
"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"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…