{"id":21573,"date":"2026-09-12T04:31:22","date_gmt":"2026-09-11T20:31:22","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89651"},"modified":"2026-09-12T04:31:22","modified_gmt":"2026-09-11T20:31:22","slug":"cve-2026-89651","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89651","title":{"rendered":"CVE-2026-89651 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nceph: bound MDSCapAut"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ceph: bound MDSCapAuth path and fs_name decode in handle_session()<\/p>\n<p>handle_session() decodes the MDSCapAuth records carried by a<br \/>\nCEPH_SESSION_OPEN message (msg_version &gt;= 6). For each record the<br \/>\nmatch.path and match.fs_name byte strings are read by first decoding a<br \/>\n32-bit length and then copying that many bytes with the bare<br \/>\nceph_decode_copy(). Unlike the surrounding fields, which all use the<br \/>\n_safe decode variants, these two copies are not preceded by a<br \/>\nceph_decode_need() bounds check, and the enclosing MDSCapAuth and<br \/>\nMDSCapMatch struct_len fields are skipped rather than enforced as an<br \/>\nupper bound. A length larger than the bytes remaining in the message<br \/>\nfront makes ceph_decode_copy() read past the end of the front buffer.<\/p>\n<p>The message front is a dedicated allocation (ceph_msg_new2() -&gt;<br \/>\nkvmalloc), so the over-read runs off that object. A malicious or<br \/>\ncompromised MDS can trigger this with the first post-connect message on<br \/>\nmount, with no client-side user interaction; under KASAN it is reported<br \/>\nas a slab-out-of-bounds read in handle_session().<\/p>\n<p>Impact: a malicious MDS can force the kernel client to read up to 4 GiB<br \/>\npast the message front allocation during session setup, crashing the<br \/>\nclient (out-of-bounds read).<\/p>\n<p>Switch both copies to ceph_decode_copy_safe(), which performs the<br \/>\nceph_decode_need() bounds check before the copy and branches to the<br \/>\nexisting bad label, matching the rest of the decoder and the error path<br \/>\nthat frees the partially decoded cap_auths array.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ceph: bound MDSCapAuth path and fs_name decode in handle_session()<\/p>\n<p>handle_session() decodes the MDSCapAuth records carried by a<br \/>\nCE<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21573","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21573","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=21573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}