{"id":5364,"date":"2026-09-04T18:47:46","date_gmt":"2026-09-04T10:47:46","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-68160"},"modified":"2026-09-04T18:47:46","modified_gmt":"2026-09-04T10:47:46","slug":"cve-2026-68160","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-68160","title":{"rendered":"CVE-2026-68160 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nceph: fix pre-auth ou"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ceph: fix pre-auth out-of-bounds read on snaptrace in ceph_handle_caps()<\/p>\n<p>ceph_handle_caps() reads snap_trace_len from the wire-format<br \/>\nceph_mds_caps header and uses it unconditionally to build a fake<br \/>\nend pointer (snaptrace + snaptrace_len) that is later handed to<br \/>\nceph_update_snap_trace() in the CEPH_CAP_OP_IMPORT case:<\/p>\n<p>    snaptrace     = h + 1;<br \/>\n    snaptrace_len = le32_to_cpu(h-&gt;snap_trace_len);<br \/>\n    p             = snaptrace + snaptrace_len;<br \/>\n    &#8230;<br \/>\n    case CEPH_CAP_OP_IMPORT:<br \/>\n        if (snaptrace_len) {<br \/>\n            &#8230;<br \/>\n            if (ceph_update_snap_trace(mdsc, snaptrace,<br \/>\n                                       snaptrace + snaptrace_len,<br \/>\n                                       false, &amp;realm)) { &#8230; }<\/p>\n<p>ceph_update_snap_trace() then decodes a struct ceph_mds_snap_realm<br \/>\nfrom snaptrace using ceph_decode_need(&amp;p, e, sizeof(*ri), bad)<br \/>\nwith the attacker-supplied fake end e == snaptrace + snaptrace_len.<br \/>\nWith snaptrace_len == 0xFFFFFFFF the bound check is trivially<br \/>\nsatisfied, ri = p reads sizeof(struct ceph_mds_snap_realm) past<br \/>\nthe legitimate msg-&gt;front buffer, and ri-&gt;num_snaps \/<br \/>\nri-&gt;num_prior_parent_snaps then drive further out-of-bounds<br \/>\nreads of the encoded snap arrays.<\/p>\n<p>The eleven msg_version &gt;= 2 .. msg_version &gt;= 12 decoder blocks<br \/>\nabove the op switch each catch this OOB through their<br \/>\nceph_decode_*_safe() \/ ceph_decode_need() helpers, but they sit<br \/>\nbehind a hdr.version-gated if, so a malicious or compromised<br \/>\nMDS that sets msg-&gt;hdr.version = 1 reaches the IMPORT path with<br \/>\nno version-gated decoder having validated snap_trace_len. The<br \/>\nshape has been present since ceph_handle_caps() was introduced.<\/p>\n<p>Validate snap_trace_len against the message front buffer before<br \/>\nconsuming it, using the canonical ceph_decode_need() \/ ceph_has_room()<br \/>\nhelper.  The helper bounds the length with subtraction (n = p) rather than pointer addition, so it is wrap-safe<br \/>\nfor the attacker-controlled u32 length on 32-bit builds where<br \/>\np + snap_trace_len could overflow the address space.  This matches the<br \/>\nrest of the ceph decode path (e.g. the pool_ns_len check a few lines<br \/>\nbelow), and the existing goto bad cleanup already covers this exit<br \/>\npath.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ceph: fix pre-auth out-of-bounds read on snaptrace in ceph_handle_caps()<\/p>\n<p>ceph_handle_caps() reads snap_trace_len from the wire-for<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-5364","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/5364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}