CVE-2026-23281 wifi: libertas: fix use-after-free in lbs_free_adapter()
A use-after-free vulnerability in the Linux kernel libertas Wi-Fi driver allows attackers to cause denial of service or execute arbitrary code via timer race conditions.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-23281?
CVE-2026-23281 is a high-severity use after free vulnerability in Linux kernel, published on 25 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
wifi: libertas: fix use-after-free in lbs_free_adapter()
The lbs_free_adapter() function uses timer_delete() (non-synchronous) for both command_timer and tx_lockup_timer before the structure is freed. This is incorrect because timer_delete() does not wait for any running timer callback to complete.
If a timer callback is executing when lbs_free_adapter() is called, the callback will access freed memory since lbs_cfg_free() frees the containing structure immediately after lbs_free_adapter() returns.
Both timer callbacks (lbs_cmd_timeout_handler and lbs_tx_lockup_handler) access priv->driver_lock, priv->cur_cmd, priv->dev, and other fields, which would all be use-after-free violations.
Use timer_delete_sync() instead to ensure any running timer callback has completed before returning.
This bug was introduced in commit 8f641d93c38a ("libertas: detect TX lockups and reset hardware") where del_timer() was used instead of del_timer_sync() in the cleanup path. The command_timer has had the same issue since the driver was first written.
Weakness: CWE-416
Which versions are affected by CVE-2026-23281?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-23281?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-23281 being exploited?
There is no known exploitation of CVE-2026-23281 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-80700, BELL-CVE-2026-23281, DEBIAN-CVE-2026-23281, GHSA-f429-w42v-q89c, ROOT-OS-DEBIAN-11-CVE-2026-23281, ROOT-OS-DEBIAN-12-CVE-2026-23281 and 4 more.