ceph: fix pre-auth out-of-bounds read on snaptrace in ceph_handle_caps()
In the Linux kernel, the following vulnerability has been resolved: ceph: fix pre-auth out-of-bounds read on snaptrace in ceph_handle_caps() ceph_handle_caps() reads snap_trace_len from the wire-format ceph_mds_caps header and uses it unconditionally to build a fake end pointer (snaptrace + snaptrace_len) that is later handed to ceph_update_snap_trace() in the CEPH_CAP_OP_IMPORT case: snaptrace = h + 1; snaptrace_len = le32_to_cpu(h->snap_trace_len); p = snaptrace + snaptrace_len; ... case CEPH_CAP_OP_IMPORT: if (snaptrace_len) { ... if (ceph_update_snap_trace(mdsc, snaptrace, snaptrace + snaptrace_len, false, &realm)) { ... } ceph_update_snap_trace() then decodes a struct ceph_mds_snap_realm from snaptrace using ceph_decode_need(&p, e, sizeof(*ri), bad) with the attacker-supplied fake end e == snaptrace + snaptrace_len. With snaptrace_len == 0xFFFFFFFF the bound check is trivially satisfied, ri = p reads sizeof(struct ceph_mds_snap_realm) past the legitimate msg->front buffer, and ri->num_snaps / ri->num_prior_parent_snaps then drive further out-of-bounds reads of the encoded snap arrays. The eleven msg_version >= 2 .. msg_version >= 12 decoder blocks above the op switch each catch this OOB through their ceph_decode_*_safe() / ceph_decode_need() helpers, but they sit behind a hdr.version-gated if, so a malicious or compromised MDS that sets msg->hdr.version = 1 reaches the IMPORT path with no version-gated decoder having validated snap_trace_len. The shape has been present s
CVE-2026-68160
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-68160
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "f913192fc782288e060dafc329b2346934be34cc",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "0c011137194036424e974677e0f1592e22a33d8c",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "cc93f68a31c9b831abf2db8647b5f5b10329d793",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "9081c71796724ffe96cba253f68fbe42363c5295",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "03b417afce19ee6b6e61f1bbbbebac924c9f36d1",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "a4228b93706fb74a484e6ffb271c1cc2af3a2ddb",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "71893c342a26bcff92eaab0b2b75d64aed19308a",
"versionType": "git"
},
{
"status": "affected",
"version": "a8599bd821d084d04a3290fffae1071624ec00ea",
"lessThan": "4dbc71bcaf9a30abf3920a4e2cc4ed33bba78c02",
"versionType": "git"
}
],
"programFiles": [
"fs/ceph/caps.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.34"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.34",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.265",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.216",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.183",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.148",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.101",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.42",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.6",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/ceph/caps.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-68160
Source reference:
/cveMetadata/cveId
Publisher severity
critical
Source reference: /containers/cna/metrics
- Event
- #41145 · Revision 1
- Added to Heist Feed
- Publisher date