CVE-2026-93804: wifi: mac80211: ibss: wait for in-flight TX on disconnect

Published Sep 24, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

wifi: mac80211: ibss: wait for in-flight TX on disconnect

While leaving an IBSS in ieee80211ibssdisconnect() mac80211 flushes stations, turns the carrier off and immediately tells the driver to leave as well. While there may be synchronizenet() in station flush and in this code later, packets can still be transmitted due to cross-CPU race conditions after carrier off is set. Therefore, it's possible for a race to happen where a TX to the driver occurs while or after telling it to leave the IBSS. This can be confusing to drivers, and in the case of iwlwifi leads to an attempt to use invalid queues.

Move netifcarrieroff() to occur before stainfoflush() during IBSS disconnect, and add synchronizenet() if flushing didn't, so that the synchronizenet() always happens between turning the carrier off and telling the driver, avoiding this race.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch wifi: mac80211: ibss: wait for in-flight TX on disconnect

Event History

Sep 24, 2026
CVE Published
via MITRE·04:02 PM
Data Sourced
via MITRE·04:02 PM
Description
Data Sourced
via NVD·05:17 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this race condition?

Systems using the Linux kernel's mac80211 stack and disconnecting from an IBSS (ad-hoc) network are exposed. The issue concerns transmit activity that remains in flight during IBSS disconnect processing.

2

What conditions are needed to trigger the issue?

A packet transmission must race across CPUs with IBSS disconnect handling, allowing a TX request to reach the driver while or after the driver is told to leave the IBSS. The description specifically identifies iwlwifi as a driver that can attempt to use invalid queues in this situation.

3

How can I determine whether a system is affected?

Review the running kernel's mac80211 IBSS disconnect implementation for ordering that turns the carrier off before station flushing and ensures synchronize_net() occurs before the driver is told to leave. The provided stable-kernel references identify fixes for the issue.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203