CVE-2026-23281 PUBLISHED

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.

EPSS 0.02% · 6.5th percentile

Risk Scores

EPSS Score
0.02%
6.5th percentile

Affected Products

VendorProductVersions
linuxlinux_kernel2.6.24, 2.6.24, 2.6.24
LinuxLinux954ee164f4f4598afc172c0ec3865d0352e55a0b, 954ee164f4f4598afc172c0ec3865d0352e55a0b, 2.6.24

Timeline

References

…and 98 more

Open in Interactive Console →