High severity · published Mar 25, 2026
CVE-2026-23281
wifi: libertas: fix use-after-free in lbs_free_adapter()
7.8
CVSS
0.1%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.1% · higher than 3% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
KE
Kernel · Linux
2.6.24 before 5.10.253; 5.11 before 5.15.203; 5.16 before 6.1.167; 6.2 before 6.6.130; 6.7 before 6.12.78; 6.13 before 6.18.17; +2 more · source: NVD
LI
Linux · Linux
954ee164f4f4598afc172c0ec3865d0352e55a0b before b15e0fa7adb4de3a03aee9e6fc4d83e5cf0a65e4; 954ee164f4f4598afc172c0ec3865d0352e55a0b before 09f3c30ab3b1371eaf9676a1b8add57bca763083; 954ee164f4f4598afc172c0ec3865d0352e55a0b before 3f9dec4a6d95d7f1f5e9e9dfdfa173c053bba8dc; 954ee164f4f4598afc172c0ec3865d0352e55a0b before 3c5c818c78b03a1725f3dcd566865c77b48dd3a6; 954ee164f4f4598afc172c0ec3865d0352e55a0b before d0155fe68f31b339961cf2d4f92937d57e9384e6; 954ee164f4f4598afc172c0ec3865d0352e55a0b before ed7d30f90b77f73a47498686ede83f622b7e4f0d; +3 more · source: vendor
SS
SIMATIC S7-1500 TM MFP - GNU/Linux subsystem · Siemens
0 · source: CISA
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-23281
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-23281
Patch
https://git.kernel.org/stable/c/03cc8f90d0537fcd4985c3319b4fafbf2e3fb1f0
Patch
https://git.kernel.org/stable/c/09f3c30ab3b1371eaf9676a1b8add57bca763083
Patch
https://git.kernel.org/stable/c/3c5c818c78b03a1725f3dcd566865c77b48dd3a6
Patch
https://git.kernel.org/stable/c/3f9dec4a6d95d7f1f5e9e9dfdfa173c053bba8dc
Patch
https://git.kernel.org/stable/c/a9f55b14486426d907459bced5825a25063bd922
Patch
https://git.kernel.org/stable/c/b15e0fa7adb4de3a03aee9e6fc4d83e5cf0a65e4
More from Kernel
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
8.8
CVE-2013-6282
Linux Kernel Improper Input Validation Vulnerability
8.4
CVE-2022-0185
Linux Kernel Heap-Based Buffer Overflow Vulnerability
8.4
CVE-2013-2094
Linux Kernel Privilege Escalation Vulnerability
