CVE-2026-23281
HighIn 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 3.1 score
7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness type
CWE-416CVE-2026-23281 is a Use After Free vulnerability
What is Use After Free?
The product references memory after it has been freed, which may cause it to crash, use unexpected values, or execute code. Learn more on MITRE CWE
Affected versions
Linux kernel versions
2.6.24
and later are affected. Fixed in
5.10.253,
5.15.203,
6.1.167,
6.6.130,
6.12.78,
6.18.17,
6.19.7,
7.0
and their respective stable series.
References
The following references provide additional information about CVE-2026-23281 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/03cc8f90d0537fcd4985c3319b4fafbf2e3fb1f0
-
PatchKernel patch commithttps://git.kernel.org/stable/c/09f3c30ab3b1371eaf9676a1b8add57bca763083
-
PatchKernel patch commithttps://git.kernel.org/stable/c/3c5c818c78b03a1725f3dcd566865c77b48dd3a6
Frequently asked questions
-
What is CVE-2026-23281?
CVE-2026-23281 is a High severity Linux kernel vulnerability with a CVSS score of 7.8 out of 10 , classified as an Use After Free flaw (CWE-416) . It affects Linux kernel versions from 2.6.24 onward and has been patched in 5.10.253, 5.15.203, 6.1.167 and others. CVE-2026-23281 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
What is the CVSS score for CVE-2026-23281?
CVE-2026-23281 has a CVSS score of 7.8 out of 10, rated High severity (CVSS 3.1). The vector string is
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. -
Is there a patch available for CVE-2026-23281?
Yes — CVE-2026-23281 has been patched. Fixed versions include 5.10.253, 5.15.203, 6.1.167 and others. If you are running Linux kernel 2.6.24 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2026-23281 actively exploited?
No — CVE-2026-23281 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
-
What is Use After Free (CWE-416)?
The product references memory after it has been freed, which may cause it to crash, use unexpected values, or execute code. View CWE-416 on MITRE CWE →