CVE-2023-54076 (GCVE-0-2023-54076)
Vulnerability from cvelistv5 – Published: 2025-12-24 12:23 – Updated: 2026-08-05 09:16
VLAI
EPSS
VEX
Title
smb: client: fix missed ses refcounting
Summary
In the Linux kernel, the following vulnerability has been resolved:
smb: client: fix missed ses refcounting
Use new cifs_smb_ses_inc_refcount() helper to get an active reference
of @ses and @ses->dfs_root_ses (if set). This will prevent
@ses->dfs_root_ses of being put in the next call to cifs_put_smb_ses()
and thus potentially causing an use-after-free bug.
Severity
9.8 (Critical)
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
8e3554150d6c80a84b3cb046615d1a0e943811dc , < eb382196e6f6e05cfafdab797840e5a96c6e7bf0
(git)
Affected: 8e3554150d6c80a84b3cb046615d1a0e943811dc , < bf99f6be2d20146942bce6f9e90a0ceef12cbc1e (git) Affected: f30d226bcc9f0e2d97b4a6e94c43a28148fbeab6 (git) Affected: c082c3be0f96e759ff2e361d929832fda0b93851 (git) Affected: 6.2.15 , < 6.3 (semver) Affected: 6.3.2 , < 6.4 (semver) |
guessed | |
| Linux | Linux |
Affected:
6.4
Unaffected: 0 , < 6.4 (semver) Unaffected: 6.4.7 , ≤ 6.4.* (semver) Unaffected: 6.5 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/smb/client/dfs.c",
"fs/smb/client/smb2transport.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "eb382196e6f6e05cfafdab797840e5a96c6e7bf0",
"status": "affected",
"version": "8e3554150d6c80a84b3cb046615d1a0e943811dc",
"versionType": "git"
},
{
"lessThan": "bf99f6be2d20146942bce6f9e90a0ceef12cbc1e",
"status": "affected",
"version": "8e3554150d6c80a84b3cb046615d1a0e943811dc",
"versionType": "git"
},
{
"status": "affected",
"version": "f30d226bcc9f0e2d97b4a6e94c43a28148fbeab6",
"versionType": "git"
},
{
"status": "affected",
"version": "c082c3be0f96e759ff2e361d929832fda0b93851",
"versionType": "git"
},
{
"lessThan": "6.3",
"status": "affected",
"version": "6.2.15",
"versionType": "semver"
},
{
"lessThan": "6.4",
"status": "affected",
"version": "6.3.2",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/smb/client/dfs.c",
"fs/smb/client/smb2transport.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.4"
},
{
"lessThan": "6.4",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.4.*",
"status": "unaffected",
"version": "6.4.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.5",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.4.7",
"versionStartIncluding": "6.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.5",
"versionStartIncluding": "6.4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.2.15",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.3.2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: fix missed ses refcounting\n\nUse new cifs_smb_ses_inc_refcount() helper to get an active reference\nof @ses and @ses-\u003edfs_root_ses (if set). This will prevent\n@ses-\u003edfs_root_ses of being put in the next call to cifs_put_smb_ses()\nand thus potentially causing an use-after-free bug."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - The flaw is in the in-kernel SMB/CIFS network filesystem client, and the unbalanced puts are driven by data from the remote peer \u2014 the server picks the SMB2.0/2.1 dialect that routes signing through the buggy `smb2_calc_signature()`, returns the DFS referrals (`DFSREF_REFERRAL_SERVER`) that populate `ses-\u003edfs_root_ses`, and controls the delayed CREATE replies that reach `smb2_handle_cancelled_mid()`. A malicious, compromised, or MITM\u0027d SMB/DFS server drives the refcount underflow purely over the network.\nAC:L - The imbalance is deterministic, not a race: every `smb2_find_smb_ses_unlocked()` acquisition drops one extra reference on `ses-\u003edfs_root_ses` at release, so the attacker simply drives enough signed exchanges to force the count to zero. No memory-layout or timing condition outside the attacker\u0027s control is needed.\nPR:N - The attacker is the remote SMB/DFS server (or a network MITM) and holds no privileges or account on the victim client; referral responses and dialect negotiation happen without any credential on the target system.\nUI:N - The `smb2transport.c` half of the bug is a steady-state runtime path \u2014 on an already-mounted DFS share, signature calculation, cancelled-MID handling, echo keepalives and the DFS cache refresh worker accumulate the extra puts with no user action at attack time.\nS:U - The premature free and subsequent corruption are confined to kernel memory within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Use-after-free on a `cifs_ses` object whose slot can be reoccupied by attacker-groomed heap data yields a read primitive, and the freed session still holds authentication material (`auth_key.response`, signing keys) and kernel pointers used by subsequent code.\nI:H - After the free, `cifs_put_smb_ses()` reads `ses-\u003eserver` from freed memory and performs an indirect call via `server-\u003eops-\u003elogoff()`, giving a control-flow hijack primitive; heap spraying over the freed `cifs_ses` converts this into arbitrary write/code execution.\nA:H - The refcount underflow frees a session still referenced by child sessions, tcons, and the DFS cache worker, reliably producing an oops/panic (and a `WARN_ON(ses-\u003eses_count \u003c 0)`) that takes down the machine."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T09:16:59.986Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/eb382196e6f6e05cfafdab797840e5a96c6e7bf0"
},
{
"url": "https://git.kernel.org/stable/c/bf99f6be2d20146942bce6f9e90a0ceef12cbc1e"
}
],
"title": "smb: client: fix missed ses refcounting",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2023-54076",
"datePublished": "2025-12-24T12:23:18.330Z",
"dateReserved": "2025-12-24T12:21:05.093Z",
"dateUpdated": "2026-08-05T09:16:59.986Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2023-54076",
"date": "2026-10-29",
"epss": "0.00455",
"percentile": "0.39415"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/smb/client/dfs.c",
"fs/smb/client/smb2transport.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "eb382196e6f6e05cfafdab797840e5a96c6e7bf0",
"status": "affected",
"version": "8e3554150d6c80a84b3cb046615d1a0e943811dc",
"versionType": "git"
},
{
"lessThan": "bf99f6be2d20146942bce6f9e90a0ceef12cbc1e",
"status": "affected",
"version": "8e3554150d6c80a84b3cb046615d1a0e943811dc",
"versionType": "git"
},
{
"status": "affected",
"version": "f30d226bcc9f0e2d97b4a6e94c43a28148fbeab6",
"versionType": "git"
},
{
"status": "affected",
"version": "c082c3be0f96e759ff2e361d929832fda0b93851",
"versionType": "git"
},
{
"lessThan": "6.3",
"status": "affected",
"version": "6.2.15",
"versionType": "semver"
},
{
"lessThan": "6.4",
"status": "affected",
"version": "6.3.2",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/smb/client/dfs.c",
"fs/smb/client/smb2transport.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.4"
},
{
"lessThan": "6.4",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.4.*",
"status": "unaffected",
"version": "6.4.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.5",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: fix missed ses refcounting\n\nUse new cifs_smb_ses_inc_refcount() helper to get an active reference\nof @ses and @ses-\u003edfs_root_ses (if set). This will prevent\n@ses-\u003edfs_root_ses of being put in the next call to cifs_put_smb_ses()\nand thus potentially causing an use-after-free bug."
}
],
"id": "CVE-2023-54076",
"lastModified": "2026-08-04T10:19:27.750",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 5.9,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
}
]
},
"published": "2025-12-24T13:16:09.447",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/bf99f6be2d20146942bce6f9e90a0ceef12cbc1e"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/eb382196e6f6e05cfafdab797840e5a96c6e7bf0"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Deferred"
}
},
"redhat_vex": {
"aggregate_severity": "Low",
"current_release_date": "2026-08-04T22:53:42+00:00",
"cve": "CVE-2023-54076",
"id": "CVE-2023-54076",
"initial_release_date": "2023-01-01T00:00:00+00:00",
"product_status:fixed": "279",
"product_status:known_affected": "22",
"product_status:known_not_affected": "166",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: smb: client: fix missed ses refcounting",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-54076.json",
"version": "3"
}
}
}
Loading…
Loading…
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.