CVE-2026-97562
📛 CVE Title
smb: client: pin DFS superblock in iterator callback
Description
In the Linux kernel, the following vulnerability has been resolved: smb: client: pin DFS superblock in iterator callback tcon_super_cb() stores a raw superblock pointer, but __cifs_get_super() takes its active reference only after iterate_supers_type() has dropped s_umount and its passive reference. Concurrent DFS automount expiry can therefore free the superblock before cifs_sb_active() uses it. A deterministic KASAN test reproduces the race as: BUG: KASAN: slab-use-after-free in cifs_sb_active+0x77/0x80 The same test passes with this change applied. Take the active reference in the callback while iterate_supers_type() still holds s_umount shared. cifs_put_tcp_super() remains the matching release.
Overview
- State
- PUBLISHED
- Assigner (CNA)
- Linux
- CVSS severity
- HIGH
- CVSS score
- 7.5 / 10
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H- Effective score
- 7.5 / 10 HIGH source: CNA overview
- CWE(s)
- —
- Reserved
- 2026-09-24
- Published
- 2026-09-25 10:21 UTC
- Last updated
- 2026-09-25 14:41 UTC
- Source
- https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/97xxx/CVE-2026-97562.json
- Linked Threat
- CVE-2026-97562 — smb: client: pin DFS superblock in iterator callback
NVD triage scoring NVD CVE 2.0
Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.
- NVD published
- 2026-09-25 11:17:06 UTC
- NVD last modified
- 2026-09-25 15:17:59 UTC
- NVD CVSS v3.1
- 7.5 / 10 HIGH source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- NVD CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H- Exploitability subscore
- 1.6 / 10
- Impact subscore
- 5.9 / 10
NVD / KEV / EPSS data refreshed 2026-09-26 04:32 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.
Affected products (2)
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| Linux | Linux |
bacd704a95ad0b93af995aae4a523aa046f46563 (affected),
bacd704a95ad0b93af995aae4a523aa046f46563 (affected),
bacd704a95ad0b93af995aae4a523aa046f46563 (affected),
bacd704a95ad0b93af995aae4a523aa046f46563 (affected)
|
— |
| Linux | Linux |
5.7 (affected),
0 (unaffected),
6.12.111 (unaffected),
6.18.53 (unaffected),
7.2.7 (unaffected),
7.3-rc3 (unaffected)
|
— |
Vendor references (4)
References embedded in the original CVE record by the assigning CNA.
Web references (0)
DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.
No web references attached yet.
NVD-tagged references (4)
Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.
- https://git.kernel.org/stable/c/5b01a8c0209690db75341528ec53fd87e0ac1460 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/a6b6561522212af852c9ad8a7dca8d59ef2c7377 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/d806d5a85dcbe2a0f181b2f0f9f61ddfbefa1818 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/ea43a15cea36dc5ddd832be5bddeac7dd804cbcf 416baaa9-dc9f-4396-8d5f-8c081fb06d67
AI Forensic Analysis
Only Available for Registered Users. Sign in to view.
Raw JSON
The full cvelistV5 record. Download as CVE-2026-97562.json.
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/smb/client/misc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "ea43a15cea36dc5ddd832be5bddeac7dd804cbcf",
"status": "affected",
"version": "bacd704a95ad0b93af995aae4a523aa046f46563",
"versionType": "git"
},
{
"lessThan": "a6b6561522212af852c9ad8a7dca8d59ef2c7377",
"status": "affected",
"version": "bacd704a95ad0b93af995aae4a523aa046f46563",
"versionType": "git"
},
{
"lessThan": "5b01a8c0209690db75341528ec53fd87e0ac1460",
"status": "affected",
"version": "bacd704a95ad0b93af995aae4a523aa046f46563",
"versionType": "git"
},
{
"lessThan": "d806d5a85dcbe2a0f181b2f0f9f61ddfbefa1818",
"status": "affected",
"version": "bacd704a95ad0b93af995aae4a523aa046f46563",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/smb/client/misc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.7"
},
{
"lessThan": "5.7",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.111",
"versionStartIncluding": "5.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.53",
"versionStartIncluding": "5.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.7",
"versionStartIncluding": "5.7",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3-rc3",
"versionStartIncluding": "5.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: pin DFS superblock in iterator callback\n\ntcon_super_cb() stores a raw superblock pointer, but __cifs_get_super()\ntakes its active reference only after iterate_supers_type() has dropped\ns_umount and its passive reference. Concurrent DFS automount expiry can\ntherefore free the superblock before cifs_sb_active() uses it.\n\nA deterministic KASAN test reproduces the race as:\n\n BUG: KASAN: slab-use-after-free in cifs_sb_active+0x77/0x80\n\nThe same test passes with this change applied.\n\nTake the active reference in the callback while iterate_supers_type()\nstill holds s_umount shared. cifs_put_tcp_super() remains the matching\nrelease."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - The racing side is started by the remote SMB server: dropping the session or replying STATUS_NETWORK_NAME_DELETED makes the client run smb2_reconnect() -> cifs_tree_connect() -> cifs_get_dfs_tcon_super() -> __cifs_get_super(). There, tcon_super_cb() saves a raw superblock pointer that is used after s_umount is released.\nAC:H - The server can force reconnects repeatedly, but the superblock is only freed if a DFS-link automount expires via cifs_expire_automounts() (a 500s periodic timer, idle submount only) inside the small gap between iterate_supers_type() returning and cifs_sb_active(). The attacker does not control that timing.\nPR:N - The attacker is the SMB/DFS server or a network peer that can reset the client's session. Forcing the client's tree reconnect needs no account or privilege on the client.\nUI:R - A victim must have mounted a DFS share with an automounted DFS link from the attacker-reachable server (cifs mounts need real CAP_SYS_ADMIN, not a user namespace), and the link must be idle long enough to expire.\nS:U - The use-after-free corrupts memory in the same kernel that runs the CIFS client, so no separate security authority is crossed.\nC:H - After the freed super_block and cifs_sb_info are reused, the reconnect path keeps reading them (cifs_sb_active() on freed memory, then CIFS_SB(sb) fields in tree_connect_dfs_target()), so reclaimed slab contents can be read.\nI:H - cifs_sb_active() increments counters in the freed cifs_sb/sb, and cifs_update_super_prepath() frees and replaces cifs_sb->prepath in the freed cifs_sb_info. Both are writes into freed memory that can be turned into heap corruption.\nA:H - The fix commit reports a KASAN slab-use-after-free in cifs_sb_active(); without KASAN the corrupted superblock refcounts and the later cifs_put_tcp_super()/deactivate_super() can crash the kernel."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-25T14:41:15.022Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/ea43a15cea36dc5ddd832be5bddeac7dd804cbcf"
},
{
"url": "https://git.kernel.org/stable/c/a6b6561522212af852c9ad8a7dca8d59ef2c7377"
},
{
"url": "https://git.kernel.org/stable/c/5b01a8c0209690db75341528ec53fd87e0ac1460"
},
{
"url": "https://git.kernel.org/stable/c/d806d5a85dcbe2a0f181b2f0f9f61ddfbefa1818"
}
],
"title": "smb: client: pin DFS superblock in iterator callback",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-97562",
"datePublished": "2026-09-25T10:21:50.664Z",
"dateReserved": "2026-09-24T16:01:01.155Z",
"dateUpdated": "2026-09-25T14:41:15.022Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}