{"id":24443,"date":"2026-09-16T20:32:19","date_gmt":"2026-09-16T12:32:19","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89786"},"modified":"2026-09-16T20:32:19","modified_gmt":"2026-09-16T12:32:19","slug":"cve-2026-89786","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89786","title":{"rendered":"CVE-2026-89786 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\next4: fix out-of-boun"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ext4: fix out-of-bounds read in ext4_read_inline_dir()<\/p>\n<p>ext4_read_inline_dir() can read a dirent header past the end of its inline<br \/>\nbuffer, triggering a slab-out-of-bounds read during getdents64():<\/p>\n<p>  BUG: KASAN: slab-out-of-bounds in __ext4_check_dir_entry<br \/>\n  Read of size 2 at addr ffff88800f3dd23c by task exploit\/148<br \/>\n   &#8230;<br \/>\n   __ext4_check_dir_entry<br \/>\n   ext4_read_inline_dir<br \/>\n   iterate_dir<\/p>\n<p>The dirent payload lives in a buffer of exactly inline_size bytes:<\/p>\n<p>\tdir_buf = kmalloc(inline_size, GFP_NOFS);<\/p>\n<p>but iteration runs in a position space extra_offset bytes larger<br \/>\n(extra_size = extra_offset + inline_size) so the synthetic &#8220;.&#8221; and &#8220;..&#8221;<br \/>\nland at their block-dir offsets. A dirent is formed at &#8220;dir_buf + pos &#8211;<br \/>\nextra_offset&#8221;, yet the ext4_check_dir_entry() length argument uses the<br \/>\nlarger extra_size. A position whose dirent header would extend past<br \/>\nextra_size is therefore accepted, and the rescan loop&#8217;s rec_len probe and<br \/>\next4_check_dir_entry() dereference de-&gt;rec_len before the entry is rejected.<\/p>\n<p>Reject a position whose minimum-size dirent header would not fit within<br \/>\nextra_size before forming de, in both the rescan and main loops, and pass<br \/>\ninline_size rather than extra_size to ext4_check_dir_entry() so the length<br \/>\ncheck matches the physical buffer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ext4: fix out-of-bounds read in ext4_read_inline_dir()<\/p>\n<p>ext4_read_inline_dir() can read a dirent header past the end of its inline<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-24443","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/24443","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=24443"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24443"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}