Skip to main content
← All vulnerabilities
CVE-2026-98175

smb: client: cancel reconnect work in clean_demultiplex_info()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.11, 3.13, 3.17, 3.19, 4.2, and 7 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: smb: client: cancel reconnect work in clean_demultiplex_info() clean_demultiplex_info() cancels server->echo delayed work but not server->reconnect, which can cause a use-after-free when the demultiplex thread exits while a reconnect work is still queued: cifs_demultiplex_thread() cifs_readv_from_socket() cifs_reconnect() __cifs_reconnect() cifs_queue_server_reconn() mod_delayed_work(cifsiod_wq, &server->reconnect, 0) clean_demultiplex_info() cancel_delayed_work_sync(&server->echo) // echo canceled // reconnect NOT canceled kfree_sensitive(server) // server freed ...later, on cifsiod_wq: smb2_reconnect_server() server->srv_count // UAF read of freed server Fix this by canceling server->reconnect delayed work in clean_demultiplex_info() before the server is freed, the same way cifs_put_tcp_session() already does.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 53e0e11efe9289535b060a51d4cf37c25e0d0f2b · fixed in 180380272f116dbd2b0354c5c7872e112e519149; From 53e0e11efe9289535b060a51d4cf37c25e0d0f2b · fixed in e3f6a779433d13aafb5edab59e4f9313051e8a52; From 53e0e11efe9289535b060a51d4cf37c25e0d0f2b · fixed in 7ab9ceedd860216fb97f2d8574cbe58b8906f42a; From 53e0e11efe9289535b060a51d4cf37c25e0d0f2b · fixed in 2e5103e11a17c274715dd56cf185eeedccf686b8; From 53e0e11efe9289535b060a51d4cf37c25e0d0f2b · fixed in c65eae6f61d1778ff7a82e4aae4080e26f486af1; From 3.10.107 · fixed in 3.11; From 3.12.70 · fixed in 3.13; From 3.16.42 · fixed in 3.17; From 3.18.47 · fixed in 3.19; From 4.1.38 · fixed in 4.2; From 4.4.40 · fixed in 4.5; From 4.8.16 · fixed in 4.9; From 4.9.1 · fixed in 4.10

  • Linux Linux

    4.10

  • KernelLinux

    From 4.10.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 5

git.kernel.org