{"id":"CVE-2026-93804","state":"PUBLISHED","title":"wifi: mac80211: ibss: wait for in-flight TX on disconnect","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: ibss: wait for in-flight TX on disconnect\n\nWhile leaving an IBSS in ieee80211_ibss_disconnect() mac80211 flushes\nstations, turns the carrier off and immediately tells the driver to\nleave as well. While there may be synchronize_net() in station flush\nand in this code later, packets can still be transmitted due to\ncross-CPU race conditions after carrier off is set.\nTherefore, it's possible for a race to happen where a TX to the\ndriver occurs while or after telling it to leave the IBSS. This can\nbe confusing to drivers, and in the case of iwlwifi leads to an\nattempt to use invalid queues.\n\nMove netif_carrier_off() to occur before sta_info_flush() during\nIBSS disconnect, and add synchronize_net() if flushing didn't,\nso that the synchronize_net() always happens between turning the\ncarrier off and telling the driver, avoiding this race.","publishedAt":"2026-09-24T16:02:38.223Z","updatedAt":"2026-10-30T12:36:48.169Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"47185b5dbac264e7eb48c6d44368be6bfec17085","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"8e4a07ed82bae5d13525770880dc6dfd27f9bccd","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"20a3fb5e1a95caa34896853ca17a50d21c754969","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"b3451e6971248250312ad32dd7f63cc9f0a925f5","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"d0e69d9afa59b93c30294eba89b1f15f69e91105","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/ibss.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.3","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.3","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.111","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.53","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/ibss.c"]}],"references":["https://git.kernel.org/stable/c/47185b5dbac264e7eb48c6d44368be6bfec17085","https://git.kernel.org/stable/c/8e4a07ed82bae5d13525770880dc6dfd27f9bccd","https://git.kernel.org/stable/c/20a3fb5e1a95caa34896853ca17a50d21c754969","https://git.kernel.org/stable/c/b3451e6971248250312ad32dd7f63cc9f0a925f5","https://git.kernel.org/stable/c/d0e69d9afa59b93c30294eba89b1f15f69e91105"],"weaknesses":[],"ingestedAt":"2026-10-30T12:56:04.490Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/93xxx/CVE-2026-93804.json","commit":"1f312381e38164a43607eebab851b151dd16861e","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-93804","state":"PUBLISHED","datePublished":"2026-09-24T16:02:38.223Z","dateUpdated":"2026-10-30T12:36:48.169Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-18T17:59:28.790Z"},"containers":{"cna":{"title":"wifi: mac80211: ibss: wait for in-flight TX on disconnect","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: mac80211: ibss: wait for in-flight TX on disconnect\n\nWhile leaving an IBSS in ieee80211_ibss_disconnect() mac80211 flushes\nstations, turns the carrier off and immediately tells the driver to\nleave as well. While there may be synchronize_net() in station flush\nand in this code later, packets can still be transmitted due to\ncross-CPU race conditions after carrier off is set.\nTherefore, it's possible for a race to happen where a TX to the\ndriver occurs while or after telling it to leave the IBSS. This can\nbe confusing to drivers, and in the case of iwlwifi leads to an\nattempt to use invalid queues.\n\nMove netif_carrier_off() to occur before sta_info_flush() during\nIBSS disconnect, and add synchronize_net() if flushing didn't,\nso that the synchronize_net() always happens between turning the\ncarrier off and telling the driver, avoiding this race."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"47185b5dbac264e7eb48c6d44368be6bfec17085","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"8e4a07ed82bae5d13525770880dc6dfd27f9bccd","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"20a3fb5e1a95caa34896853ca17a50d21c754969","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"b3451e6971248250312ad32dd7f63cc9f0a925f5","versionType":"git"},{"version":"86a2ea4134b48f6371103cfceb521bf2d2bf76cd","status":"affected","lessThan":"d0e69d9afa59b93c30294eba89b1f15f69e91105","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/ibss.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.3","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.3","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.111","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.53","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/mac80211/ibss.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/47185b5dbac264e7eb48c6d44368be6bfec17085"},{"url":"https://git.kernel.org/stable/c/8e4a07ed82bae5d13525770880dc6dfd27f9bccd"},{"url":"https://git.kernel.org/stable/c/20a3fb5e1a95caa34896853ca17a50d21c754969"},{"url":"https://git.kernel.org/stable/c/b3451e6971248250312ad32dd7f63cc9f0a925f5"},{"url":"https://git.kernel.org/stable/c/d0e69d9afa59b93c30294eba89b1f15f69e91105"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:36:48.169Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.12.111"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"6.18.53"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.3","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}