{"api_version":"1","generated_at":"2026-08-19T14:48:55+00:00","cve":"CVE-2026-72003","urls":{"html":"https://cve.report/CVE-2026-72003","api":"https://cve.report/api/cve/CVE-2026-72003.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-72003","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-72003"},"summary":{"title":"wifi: brcmfmac: cyw: fix heap overflow on a short auth frame","description":"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->datalen - sizeof(struct brcmf_rx_mgmt_data);\n\t...\n\tmemcpy(&mgmt_frame->u, frame,\n\t       mgmt_frame_len - offsetof(struct ieee80211_mgmt, u));\n\nThe only length check is e->datalen >= 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'd 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.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:20:53","updated_at":"2026-08-17 06:17:57"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"ADJACENT_NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"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"}}],"references":[{"url":"https://git.kernel.org/stable/c/185bb156c427d0f865d344a6d0eaa02c6d05cc57","name":"https://git.kernel.org/stable/c/185bb156c427d0f865d344a6d0eaa02c6d05cc57","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/55b26abb1fa1ec406b3ad11b43c49c7624257565","name":"https://git.kernel.org/stable/c/55b26abb1fa1ec406b3ad11b43c49c7624257565","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/240c8d2c717b3f8153e7e877b22a82518d78dbdc","name":"https://git.kernel.org/stable/c/240c8d2c717b3f8153e7e877b22a82518d78dbdc","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72003","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72003","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 66f909308a7c05082919ff214a0bbe2a76aa0283 55b26abb1fa1ec406b3ad11b43c49c7624257565 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 66f909308a7c05082919ff214a0bbe2a76aa0283 185bb156c427d0f865d344a6d0eaa02c6d05cc57 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 66f909308a7c05082919ff214a0bbe2a76aa0283 240c8d2c717b3f8153e7e877b22a82518d78dbdc git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.40 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"72003","cve":"CVE-2026-72003","epss":"0.003440000","percentile":"0.273710000","score_date":"2026-08-17","updated_at":"2026-08-18 00:11:47"},"legacy_qids":[]},"source_records":{"cve_program":{"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->datalen - sizeof(struct brcmf_rx_mgmt_data);\n\t...\n\tmemcpy(&mgmt_frame->u, frame,\n\t       mgmt_frame_len - offsetof(struct ieee80211_mgmt, u));\n\nThe only length check is e->datalen >= 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'd 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"},"nvd":{"publishedDate":"2026-08-15 06:20:53","lastModifiedDate":"2026-08-17 06:17:57","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"ADJACENT_NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"72003","Ordinal":"1","Title":"wifi: brcmfmac: cyw: fix heap overflow on a short auth frame","CVE":"CVE-2026-72003","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"72003","Ordinal":"1","NoteData":"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->datalen - sizeof(struct brcmf_rx_mgmt_data);\n\t...\n\tmemcpy(&mgmt_frame->u, frame,\n\t       mgmt_frame_len - offsetof(struct ieee80211_mgmt, u));\n\nThe only length check is e->datalen >= 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'd 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.","Type":"Description","Title":"wifi: brcmfmac: cyw: fix heap overflow on a short auth frame"}]}}}