CVE-2026-23281 wifi: libertas: fix use-after-free in lbs_free_adapter()

High 7.8 Published Updated

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.

All Linux kernel vulnerabilities

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.

Is CVE-2026-23281 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free