wifi: libertas_tf: fix UAF in lbtf_free_adapter()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: libertas_tf: fix UAF in lbtf_free_adapter() lbtf_free_adapter() calls lbtf_free_cmd_buffer() to free the command buffers before calling timer_delete_sync() to wait for the command timer callback. If the timer callback (command_timer_fn) is already running when lbtf_free_cmd_buffer() frees the command array, the callback dereferences priv->cur_cmd->cmdbuf which points to freed memory. Swap the order so that timer_delete_sync() runs first, ensuring any in-flight callback has completed before the command buffers are freed.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in 3fb3663260ec396f86b733aab9f81fac6669d2fa; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in f6c3fa0d17ca0c9e6033bb45f52e33b27a9a40e6; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in b4745d6063758c681d33affca9733bbd356b6ea1; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in 41b1a4d545ec348b7d5324b6d4f4c6a3e0326d46; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in 2b99bfc5a127ce8cd6a887d82815fc2e712f365b; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in e82536aad653e27c8ca7a8e0f6f816bc3f853ec3; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in 04c837d413dc11a91e0275b08b9e35a6c111175e; From 06b16ae5319251c26377afcb401e46056d5673f4 · fixed in bbb9a0ab96d44a64529aafc7a16de460a1712f6a
- Linux Linux
2.6.28
- KernelLinux
From 2.6.28 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8
References 8
git.kernel.org
- stable/c/3fb3663260ec396f86b733aab9f81fac6669d2fa
- stable/c/f6c3fa0d17ca0c9e6033bb45f52e33b27a9a40e6
- stable/c/b4745d6063758c681d33affca9733bbd356b6ea1
- stable/c/41b1a4d545ec348b7d5324b6d4f4c6a3e0326d46
- stable/c/2b99bfc5a127ce8cd6a887d82815fc2e712f365b
- stable/c/e82536aad653e27c8ca7a8e0f6f816bc3f853ec3
- stable/c/04c837d413dc11a91e0275b08b9e35a6c111175e
- stable/c/bbb9a0ab96d44a64529aafc7a16de460a1712f6a