{"id":21414,"date":"2026-09-12T04:31:09","date_gmt":"2026-09-11T20:31:09","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89492"},"modified":"2026-09-12T04:31:09","modified_gmt":"2026-09-11T20:31:09","slug":"cve-2026-89492","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89492","title":{"rendered":"CVE-2026-89492 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: validate direc"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ocfs2: validate directory-index entry counts when reading metadata<\/p>\n<p>ocfs2_validate_dx_leaf() and ocfs2_validate_dx_root() check the ECC and<br \/>\nsignature of an indexed-directory block before it reaches higher-level<br \/>\ncallers, but neither validator bounds the ocfs2_dx_entry_list counts<br \/>\nagainst the capacity of the block that holds them.<\/p>\n<p>ocfs2_dx_dir_search() then walks<\/p>\n<p>\tfor (i = 0; i de_num_used); i++)<br \/>\n\t\tdx_entry = &amp;entry_list-&gt;de_entries[i];<\/p>\n<p>over de_num_used entries with no bounds check.  entry_list is either<br \/>\ndx_leaf-&gt;dl_list (from ocfs2_read_dx_leaf) or, for an inline root,<br \/>\ndx_root-&gt;dr_entries.  A crafted on-disk image can set de_num_used (and<br \/>\nde_count, which is the __counted_by_le() bound of de_entries) to 0xffff<br \/>\nand make the walk read far past the end of the 4KB metadata block, giving<br \/>\na slab out-of-bounds read reachable from any path lookup, stat() or open()<br \/>\non an indexed directory once the image is mounted.<\/p>\n<p>Commit 775c17386a6f (&#8220;ocfs2: validate dx_root extent list fields during<br \/>\nblock read&#8221;) already bounds dr_list for the non-inline dx_root, but left<br \/>\nthe inline dr_entries path and the dx_leaf dl_list unchecked.  Add the<br \/>\nsame read-time validation for both entry lists: de_count must equal the<br \/>\ncapacity of the block (ocfs2_dx_entries_per_leaf()\/per_root()) and<br \/>\nde_num_used must not exceed de_count, rejecting corrupted metadata with<br \/>\n-EFSCORRUPTED before ocfs2_dx_dir_search() can walk an out-of-range entry<br \/>\narray.<\/p>\n<p>de_count is always written as exactly the block capacity when a leaf or<br \/>\ninline root is formatted, so the equality check does not reject any valid<br \/>\nimage.<\/p>\n<p>Found by 0sec automated security-research tooling (https:\/\/0sec.ai).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ocfs2: validate directory-index entry counts when reading metadata<\/p>\n<p>ocfs2_validate_dx_leaf() and ocfs2_validate_dx_root() check the<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21414","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21414","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=21414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}