{"id":24730,"date":"2026-09-16T20:32:42","date_gmt":"2026-09-16T12:32:42","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90042"},"modified":"2026-09-16T20:32:42","modified_gmt":"2026-09-16T12:32:42","slug":"cve-2026-90042","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90042","title":{"rendered":"CVE-2026-90042 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nceph: properly decryp"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ceph: properly decrypt filenames in vmalloc() buffers<\/p>\n<p>The fscrypt subsystem uses the scatterlist crypto API, inheriting its<br \/>\nrequirement that any buffers are in the linear mapping region. However,<br \/>\nthe messenger client uses kvmalloc() to create buffers for messages,<br \/>\nwhich will occasionally place those buffers in the vmalloc() region when<br \/>\nphysical memory fragmentation doesn&#8217;t permit a large enough kmalloc().<br \/>\nThe various callers of ceph_fname_to_usr() directly pass (slices of) raw<br \/>\nmessages from the MDS without considering that the messages may be in<br \/>\nvmalloc() buffers, resulting in oopses especially on non-x86 platforms<br \/>\n(see &#8216;Closes:&#8217; for more details and a reproducer).<\/p>\n<p>Make ceph_fname_to_usr() explicitly tolerant of vmalloc()-allocated<br \/>\nfname-&gt;ctext, fname-&gt;name, and\/or oname-&gt;name buffers, using `tname`<br \/>\n(which, when non-null, must be a linear address; when null, is briefly<br \/>\nallocated as necessary) as a bounce buffer to avoid passing any<br \/>\ninappropriate addresses to fscrypt_fname_disk_to_usr().<\/p>\n<p>Additionally change parse_reply_info_readdir() &#8212; the only function to<br \/>\nsupply its own `tname` &#8212; to follow the new &#8220;tname must never come from<br \/>\nvmalloc()&#8221; rule by passing NULL when the message is not in the linear<br \/>\nregion. Though this causes a per-dentry kmalloc()+kfree(), this overhead<br \/>\nexists only when processing the minority of messages that spill into<br \/>\nvmalloc(). My (crude) testing puts this at only about 1 in 8,000 readdir<br \/>\nmessages. Still, if the overhead proves unreasonable in the future, it<br \/>\nis easy enough to mitigate: a future change could allocate a bounce<br \/>\nbuffer in parse_reply_info_readdir() and use that as `tname` instead.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ceph: properly decrypt filenames in vmalloc() buffers<\/p>\n<p>The fscrypt subsystem uses the scatterlist crypto API, inheriting its<br \/>\nrequir<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-24730","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/24730","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=24730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}