CVE-2026-23281

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

State
Published
Severity
Not scored
Published
Mar 25, 2026
Updated
Oct 15, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before b15e0fa7adb4de3a03aee9e6fc4d83e5cf0a65e4Affected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before 09f3c30ab3b1371eaf9676a1b8add57bca763083Affected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before 3f9dec4a6d95d7f1f5e9e9dfdfa173c053bba8dcAffected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before 3c5c818c78b03a1725f3dcd566865c77b48dd3a6Affected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before d0155fe68f31b339961cf2d4f92937d57e9384e6Affected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before ed7d30f90b77f73a47498686ede83f622b7e4f0dAffected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before a9f55b14486426d907459bced5825a25063bd922Affected
  • 954ee164f4f4598afc172c0ec3865d0352e55a0b to before 03cc8f90d0537fcd4985c3319b4fafbf2e3fb1f0Affected
LinuxLinux
  • 2.6.24Affected
  • before 2.6.24Not affected
  • 5.10.253 through 5.10.*Not affected
  • 5.15.203 through 5.15.*Not affected
  • 6.1.167 through 6.1.*Not affected
  • 6.6.130 through 6.6.*Not affected
  • 6.12.78 through 6.12.*Not affected
  • 6.18.17 through 6.18.*Not affected
  • 6.19.7 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.