{"id":"CVE-2026-72070","summary":"wifi: libertas_tf: fix use-after-free in lbtf_free_adapter()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: libertas_tf: fix use-after-free in lbtf_free_adapter()\n\nlbtf_free_adapter() calls timer_delete(&priv-\u003ecommand_timer), which does\nnot wait for a running command_timer_fn() callback. lbtf_free_adapter()\nruns on the teardown path right before ieee80211_free_hw() frees priv,\nboth in lbtf_remove_card() and in the probe error path. command_timer is\narmed by mod_timer() in lbtf_cmd() whenever a firmware command is sent.\ncommand_timer_fn() dereferences priv. If a command times out as the\ndevice is removed, command_timer_fn() runs concurrently with teardown and\ndereferences priv after it has been freed.\n\nThis is the same use-after-free that commit 03cc8f90d053 (\"wifi: libertas:\nfix use-after-free in lbs_free_adapter()\") fixed in the sibling libertas\ndriver. The libertas_tf variant has the identical pattern and was left\nunchanged. Use timer_delete_sync() so any in-flight callback completes\nbefore priv is freed.","modified":"2026-08-18T03:31:22.090324667Z","published":"2026-08-15T05:52:22.486Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72070.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/066b59e84f90d270cc15f0370166155aca507630"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4714e95f5d61cb9c5c7c6c4e68b618f37bc6ffcf"},{"type":"WEB","url":"https://git.kernel.org/stable/c/aa6dcd5c8dd9ba1d7d0f60093bcda41c0d6d438d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/bcf7968cb97ce4312588042cf2712f04caff6d8f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/fcff712d0e3d183843ec3916470ee6cc3455baad"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72070.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72070"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"06b16ae5319251c26377afcb401e46056d5673f4"},{"fixed":"4714e95f5d61cb9c5c7c6c4e68b618f37bc6ffcf"},{"fixed":"066b59e84f90d270cc15f0370166155aca507630"},{"fixed":"fcff712d0e3d183843ec3916470ee6cc3455baad"},{"fixed":"bcf7968cb97ce4312588042cf2712f04caff6d8f"},{"fixed":"aa6dcd5c8dd9ba1d7d0f60093bcda41c0d6d438d"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72070.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.6.28"},{"fixed":"6.6.148"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.101"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.40"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.5"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72070.json"}}],"schema_version":"1.9.0"}