{"id":"CVE-2024-26779","state":"PUBLISHED","title":"wifi: mac80211: fix race condition on enabling fast-xmit","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: fix race condition on enabling fast-xmit\n\nfast-xmit must only be enabled after the sta has been uploaded to the driver,\notherwise it could end up passing the not-yet-uploaded sta via drv_tx calls\nto the driver, leading to potential crashes because of uninitialized drv_priv\ndata.\nAdd a missing sta->uploaded check and re-check fast xmit after inserting a sta.","publishedAt":"2024-04-03T17:01:09.807Z","updatedAt":"2026-08-05T11:27:11.945Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"76fad1174a0cae6fc857b9f88b261a2e4f07d587","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"85720b69aef177318f4a18efbcc4302228a340e5","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"5ffab99e070b9f8ae0cf60c3c3602b84eee818dd","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"88c18fd06608b3adee547102505d715f21075c9d","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"eb39bb548bf974acad7bd6780fe11f9e6652d696","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"54b79d8786964e2f840e8a2ec4a9f9a50f3d4954","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"281280276b70c822f55ce15b661f6d1d3228aaa9","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"bcbc84af1183c8cf3d1ca9b78540c2185cd85e7f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/sta_info.c","net/mac80211/tx.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.2","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.2","versionType":"semver"},{"version":"4.19.308","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.270","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.211","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.150","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.80","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.19","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7.7","status":"unaffected","lessThanOrEqual":"6.7.*","versionType":"semver"},{"version":"6.8","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/sta_info.c","net/mac80211/tx.c"]}],"references":["https://git.kernel.org/stable/c/76fad1174a0cae6fc857b9f88b261a2e4f07d587","https://git.kernel.org/stable/c/85720b69aef177318f4a18efbcc4302228a340e5","https://git.kernel.org/stable/c/5ffab99e070b9f8ae0cf60c3c3602b84eee818dd","https://git.kernel.org/stable/c/88c18fd06608b3adee547102505d715f21075c9d","https://git.kernel.org/stable/c/eb39bb548bf974acad7bd6780fe11f9e6652d696","https://git.kernel.org/stable/c/54b79d8786964e2f840e8a2ec4a9f9a50f3d4954","https://git.kernel.org/stable/c/281280276b70c822f55ce15b661f6d1d3228aaa9","https://git.kernel.org/stable/c/bcbc84af1183c8cf3d1ca9b78540c2185cd85e7f","https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html","https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html"],"weaknesses":["CWE-362"],"ingestedAt":"2026-10-29T20:07:10.607Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/26xxx/CVE-2024-26779.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-26779","state":"PUBLISHED","datePublished":"2024-04-03T17:01:09.807Z","dateUpdated":"2026-08-05T11:27:11.945Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-02-19T14:20:24.177Z"},"containers":{"cna":{"title":"wifi: mac80211: fix race condition on enabling fast-xmit","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: fix race condition on enabling fast-xmit\n\nfast-xmit must only be enabled after the sta has been uploaded to the driver,\notherwise it could end up passing the not-yet-uploaded sta via drv_tx calls\nto the driver, leading to potential crashes because of uninitialized drv_priv\ndata.\nAdd a missing sta->uploaded check and re-check fast xmit after inserting a sta."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"76fad1174a0cae6fc857b9f88b261a2e4f07d587","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"85720b69aef177318f4a18efbcc4302228a340e5","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"5ffab99e070b9f8ae0cf60c3c3602b84eee818dd","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"88c18fd06608b3adee547102505d715f21075c9d","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"eb39bb548bf974acad7bd6780fe11f9e6652d696","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"54b79d8786964e2f840e8a2ec4a9f9a50f3d4954","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"281280276b70c822f55ce15b661f6d1d3228aaa9","versionType":"git"},{"version":"17c18bf880b2464851e5a2bca86521affc46c97e","status":"affected","lessThan":"bcbc84af1183c8cf3d1ca9b78540c2185cd85e7f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/sta_info.c","net/mac80211/tx.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.2","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.2","versionType":"semver"},{"version":"4.19.308","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.270","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.211","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.150","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.80","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.19","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7.7","status":"unaffected","lessThanOrEqual":"6.7.*","versionType":"semver"},{"version":"6.8","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/sta_info.c","net/mac80211/tx.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/76fad1174a0cae6fc857b9f88b261a2e4f07d587"},{"url":"https://git.kernel.org/stable/c/85720b69aef177318f4a18efbcc4302228a340e5"},{"url":"https://git.kernel.org/stable/c/5ffab99e070b9f8ae0cf60c3c3602b84eee818dd"},{"url":"https://git.kernel.org/stable/c/88c18fd06608b3adee547102505d715f21075c9d"},{"url":"https://git.kernel.org/stable/c/eb39bb548bf974acad7bd6780fe11f9e6652d696"},{"url":"https://git.kernel.org/stable/c/54b79d8786964e2f840e8a2ec4a9f9a50f3d4954"},{"url":"https://git.kernel.org/stable/c/281280276b70c822f55ce15b661f6d1d3228aaa9"},{"url":"https://git.kernel.org/stable/c/bcbc84af1183c8cf3d1ca9b78540c2185cd85e7f"}],"metrics":[{"cvssV3_1":{"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"},"scenarios":[{"lang":"en","value":"AV:A - The vulnerable station-insert path is reached by receiving 802.11 mesh beacons/peering frames and QoS-data frames over the air, and the racing `ieee80211_check_fast_xmit()` call comes from the RX softirq handling those frames. Per WiFi frame-injection guidance this is Adjacent, requiring only radio range of a mesh/IBSS node.\nAC:L - The attacker controls both sides of the race — the beacon that triggers `sta_info_insert_rcu()` (which sleeps in `sta_info_insert_drv_state()`, widening the window to milliseconds) and the PM-bit-toggling QoS-data frames that drive `ieee80211_check_fast_xmit()` from softirq — and can retry indefinitely by rotating source MACs; the IBSS `drv_sta_state` failure path reaches the same state deterministically.\nPR:N - Open 802.11s mesh with kernel MPM (`__mesh_sta_info_alloc`) and non-RSN IBSS (`ieee80211_ibss_finish_sta`) pre-move the peer to `IEEE80211_STA_AUTHORIZED` before insertion, so station creation happens with zero credentials. The attacker is an unauthenticated wireless peer with no account on the target.\nUI:N - No victim action is needed; a node simply operating in mesh or IBSS mode processes the attacker's beacons and data frames automatically in the RX path.\nS:U - The corruption occurs in mac80211/driver structures within the kernel's own security authority, with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - Passing a never-uploaded `ieee80211_sta` to `drv_tx()` makes drivers use zeroed `drv_priv` — e.g. mt76 WCID index 0, which aliases another station's hardware key/rate-table entry, so frames are transmitted under the wrong security context — and the resulting driver-state confusion reads uninitialized/foreign memory, giving a disclosure primitive.\nI:H - This is a state/type confusion on driver-private data: `list_add` on zeroed `list_head`s (ath9k `ath_atx_tid`), indexing per-station driver arrays with an uninitialized index, and in the IBSS unwind case touching resources already freed by `drv_sta_remove`, all of which constitute memory corruption leveragable for write primitives and control-flow hijack.\nA:H - The immediate and near-certain effect is a kernel oops in softirq (NULL/near-NULL dereference from zeroed driver list heads) or a firmware/queue assert, remotely triggerable and repeatable, taking down the wireless node."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T11:27:11.945Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"4.19.308"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"5.4.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"5.10.211"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"5.15.150"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.1.80"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.6.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.7.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.2","versionEndExcluding":"6.8"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":5.5,"attackVector":"LOCAL","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"timestamp":"2024-04-03T19:22:50.891620Z","id":"CVE-2024-26779","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-362","type":"CWE","lang":"en","description":"CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-11-06T21:39:37.576Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/76fad1174a0cae6fc857b9f88b261a2e4f07d587","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/85720b69aef177318f4a18efbcc4302228a340e5","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/5ffab99e070b9f8ae0cf60c3c3602b84eee818dd","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/88c18fd06608b3adee547102505d715f21075c9d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/eb39bb548bf974acad7bd6780fe11f9e6652d696","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/54b79d8786964e2f840e8a2ec4a9f9a50f3d4954","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/281280276b70c822f55ce15b661f6d1d3228aaa9","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/bcbc84af1183c8cf3d1ca9b78540c2185cd85e7f","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T00:14:13.469Z"}}]}}}