Skip to main content
VulnerabilityPublished Updated

CVE-2026-98173: Linux kernel · smb: client: fix use-after-free of iface in cifs_try_adding_channels()

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · CVSS 7.5 High · fixed in ee0d8f83d68f6e6509f092c997ccab3c8c801538 : patch Linux kernel soon.

Data as of 26 Oct 2026, 17:30 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.3% chance of exploitation in 30 days – higher than 24% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in ee0d8f83d68f6e6509f092c997ccab3c8c801538, ec36b38e65596950e6c29bed7dfc90b98707c19c, e99040e5e9c60441e6b4725e1a7b88c3106ae903 +2
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 6 Oct 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ aa45dadd34e44fcd6a9df4b395bee5b5633b4cec, < ee0d8f83d68f6e6509f092c997ccab3c8c801538
Fixed in
  • ee0d8f83d68f6e6509f092c997ccab3c8c801538
LinuxLinuxAffected
  • ≥ aa45dadd34e44fcd6a9df4b395bee5b5633b4cec, < ec36b38e65596950e6c29bed7dfc90b98707c19c
Fixed in
  • ec36b38e65596950e6c29bed7dfc90b98707c19c
LinuxLinuxAffected
  • ≥ aa45dadd34e44fcd6a9df4b395bee5b5633b4cec, < e99040e5e9c60441e6b4725e1a7b88c3106ae903
Fixed in
  • e99040e5e9c60441e6b4725e1a7b88c3106ae903
LinuxLinuxAffected
  • ≥ aa45dadd34e44fcd6a9df4b395bee5b5633b4cec, < d034e836eefd7ce75e588f7031cffbeec594f5ac
Fixed in
  • d034e836eefd7ce75e588f7031cffbeec594f5ac
LinuxLinuxAffected
  • ≥ aa45dadd34e44fcd6a9df4b395bee5b5633b4cec, < c941f1ebfd26f683de81091473f3596a218abff0
Fixed in
  • c941f1ebfd26f683de81091473f3596a218abff0
LinuxLinuxAffected
  • =5.19
Fixed in–

Description

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix use-after-free of iface in cifs_try_adding_channels() cifs_try_adding_channels() iterates ses->iface_list with list_for_each_entry_safe_from(), which captures the next entry (niface) under iface_lock. The loop body then drops iface_lock for the whole duration of cifs_ses_add_channel(). A concurrent interface refresh (SMB3_request_interfaces() -> parse_server_interfaces()) marks all ifaces inactive and removes and frees any that are not re-advertised via list_del() + kref_put(), where release_iface() is a bare kfree(). Since niface typically has no channel holding a reference, the list reference is its last and it can be freed inside the unlocked window. On continue, the iterator advance step then dereferences niface->iface_head.next, and the loop body reads iface->rdma_capable/is_active, both on freed memory. Fix this by never keeping an unreferenced list pointer across the unlocked window. Each channel attempt now re-scans the list from the head under iface_lock, takes a kref on the selected candidate, and passes only that referenced candidate to cifs_ses_add_channel(). weight_fulfilled still tracks selection progress, so restarting the scan preserves the original weighted distribution and the weight_fulfilled-before-kref_put ordering on the failure path. Add a per-pass attempts cap so a flapping interface refresh cannot keep the inner loop spinning within a single tries increment.

References

Community reviews

Loading reviews…