CVE-2026-72003 (GCVE-0-2026-72003)
Vulnerability from cvelistv5
Published
2026-08-15 05:51
Modified
2026-08-17 05:39
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
wifi: brcmfmac: cyw: fix heap overflow on a short auth frame
brcmf_notify_auth_frame_rx() takes the frame length from the firmware
event and copies the frame body with the management header offset
subtracted:
u32 mgmt_frame_len = e->datalen - sizeof(struct brcmf_rx_mgmt_data);
...
memcpy(&mgmt_frame->u, frame,
mgmt_frame_len - offsetof(struct ieee80211_mgmt, u));
The only length check is e->datalen >= sizeof(*rxframe), so mgmt_frame_len
can be anything from 0 up. offsetof(struct ieee80211_mgmt, u) is 24. When
mgmt_frame_len is below that, the subtraction wraps as an unsigned value to
a huge length. The memcpy then runs far past the kzalloc'd buffer. A
malicious or malfunctioning AP can make the frame short during the
external SAE auth exchange, so this is a remotely triggered heap overflow.
Reject frames shorter than the management header offset before the copy.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "55b26abb1fa1ec406b3ad11b43c49c7624257565",
"status": "affected",
"version": "66f909308a7c05082919ff214a0bbe2a76aa0283",
"versionType": "git"
},
{
"lessThan": "185bb156c427d0f865d344a6d0eaa02c6d05cc57",
"status": "affected",
"version": "66f909308a7c05082919ff214a0bbe2a76aa0283",
"versionType": "git"
},
{
"lessThan": "240c8d2c717b3f8153e7e877b22a82518d78dbdc",
"status": "affected",
"version": "66f909308a7c05082919ff214a0bbe2a76aa0283",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.16"
},
{
"lessThan": "6.16",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.40",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.5",
"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.18.40",
"versionStartIncluding": "6.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.5",
"versionStartIncluding": "6.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.16",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: brcmfmac: cyw: fix heap overflow on a short auth frame\n\nbrcmf_notify_auth_frame_rx() takes the frame length from the firmware\nevent and copies the frame body with the management header offset\nsubtracted:\n\n\tu32 mgmt_frame_len = e-\u003edatalen - sizeof(struct brcmf_rx_mgmt_data);\n\t...\n\tmemcpy(\u0026mgmt_frame-\u003eu, frame,\n\t mgmt_frame_len - offsetof(struct ieee80211_mgmt, u));\n\nThe only length check is e-\u003edatalen \u003e= sizeof(*rxframe), so mgmt_frame_len\ncan be anything from 0 up. offsetof(struct ieee80211_mgmt, u) is 24. When\nmgmt_frame_len is below that, the subtraction wraps as an unsigned value to\na huge length. The memcpy then runs far past the kzalloc\u0027d buffer. A\nmalicious or malfunctioning AP can make the frame short during the\nexternal SAE auth exchange, so this is a remotely triggered heap overflow.\n\nReject frames shorter than the management header offset before the copy."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:A - A malicious or rogue AP on the same WiFi/BSS segment sends a truncated 802.11 authentication frame during the external SAE handshake; the brcmfmac CYW driver processes it from firmware events with no other network hop required.\nAC:L - The attacker fully controls the AP and can reliably deliver auth frames with firmware-reported lengths below 24 bytes during SAE, triggering the unsigned underflow and huge memcpy without races or victim-specific heap layout.\nPR:N - Exploitation requires no privileges on the victim host; an unauthenticated adjacent wireless attacker operating a rogue WPA3-SAE AP can trigger the pre-authentication code path without local access or capabilities.\nUI:N - No victim action is required at exploit time beyond normal station behavior; auto-reconnect or background association to a saved WPA3 network (or an evil-twin SSID) suffices to enter external SAE where the malicious auth frame is delivered.\nS:U - Impact is confined to kernel memory on the vulnerable station; successful exploitation yields local privilege escalation or denial of service on the same host, not a cross-VM or cross-security-authority boundary escape.\nC:H - The underflowed memcpy length reads far beyond the firmware event buffer (kernel heap OOB read) and corrupts adjacent heap objects; such heap overflows are routinely weaponized for arbitrary kernel memory disclosure.\nI:H - The same memcpy writes gigabyte-scale data past the kzalloc allocation, corrupting kernel heap metadata and adjacent objects in ways that enable arbitrary write primitives and potential code execution.\nA:H - Copying ~4 GiB from kernel memory reliably causes kernel oops, panic, or hang on the affected system; even failed exploitation typically crashes the host."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:39:21.650Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/55b26abb1fa1ec406b3ad11b43c49c7624257565"
},
{
"url": "https://git.kernel.org/stable/c/185bb156c427d0f865d344a6d0eaa02c6d05cc57"
},
{
"url": "https://git.kernel.org/stable/c/240c8d2c717b3f8153e7e877b22a82518d78dbdc"
}
],
"title": "wifi: brcmfmac: cyw: fix heap overflow on a short auth frame",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-72003",
"datePublished": "2026-08-15T05:51:34.730Z",
"dateReserved": "2026-08-09T03:40:39.898Z",
"dateUpdated": "2026-08-17T05:39:21.650Z",
"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…