CVE-2026-98173 json
smb: client: fix use-after-free of iface in cifs_try_adding_channels()
published last mo. modified 12d ago also EUVD-2026-93101
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 28%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Linux Linux 7.3
- linux Debian 13 6.12.113-1
- linux Debian 14 7.2.8-1
- linux-6.12 Debian 12 6.12.113-1~deb12u1
debian advisories DEBIAN-CVE-2026-98173
- linux Ubuntu 26.04 LTS 7.0.0-42.42
- linux-aws Ubuntu 26.04 LTS 7.0.0-1016.17
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1016.18
- linux-ibm Ubuntu 26.04 LTS 7.0.0-1017.17
- linux-riscv Ubuntu 26.04 LTS 7.0.0-42.42.1
- linux-oracle Ubuntu 26.04 LTS 7.0.0-1015.16
- linux-hwe-7.0 Ubuntu 24.04 LTS 7.0.0-42.42~24.04.1
- linux-oem-7.0 Ubuntu 26.04 LTS 7.0.0-1017.17
ubuntu advisories UBUNTU-CVE-2026-98173
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.81.1
- kernel-syms-rt Real Time Module 15 SP7 6.4.0-150700.7.81.1
- kernel-source-rt Real Time Module 15 SP7 6.4.0-150700.7.81.1
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.87.3
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.87.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.87.3
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.87.3
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.87.3
suse advisories SUSE-SU-2026:4940-1SUSE-SU-2026:4935-1SUSE-SU-2026:4934-1SUSE-SU-2026:24473-1SUSE-SU-2026:24553-1SUSE-SU-2026:24422-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.40.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.40.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.40.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.40.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.40.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.40.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.40.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.40.1
opensuse advisories openSUSE-SU-2026:22167-1openSUSE-SU-2026:12131-1
- kernel Azure Linux 3.0 6.6.161.1-1
azure linux advisories AZL-106143
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/93e8a49adb2a575202c5ee766435eff2f9f95f5b commit
- git.kernel.org/stable/c/ee0d8f83d68f6e6509f092c997ccab3c8c801538 commit
- git.kernel.org/stable/c/c941f1ebfd26f683de81091473f3596a218abff0 commit
- git.kernel.org/stable/c/e99040e5e9c60441e6b4725e1a7b88c3106ae903 commit
- git.kernel.org/stable/c/ec36b38e65596950e6c29bed7dfc90b98707c19c commit
- git.kernel.org/stable/c/d034e836eefd7ce75e588f7031cffbeec594f5ac commit
Is CVE-2026-98173 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-98173 updated cvss 7.5
kernel: smb: client: fix use-after-free of iface in cifs_try_adding_channels()
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: workaround, no fix available
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 28% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/93e8a49adb2a575202c5ee766435eff2f9f95f5b
- git.kernel.org /stable/c/ee0d8f83d68f6e6509f092c997ccab3c8c801538
- git.kernel.org /stable/c/c941f1ebfd26f683de81091473f3596a218abff0
- git.kernel.org /stable/c/e99040e5e9c60441e6b4725e1a7b88c3106ae903
- git.kernel.org /stable/c/ec36b38e65596950e6c29bed7dfc90b98707c19c
- git.kernel.org /stable/c/d034e836eefd7ce75e588f7031cffbeec594f5ac
Sources
- CVE List CVE-2026-98173
- NVD CVE-2026-98173
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.