{"id":25542,"date":"2026-09-18T04:31:32","date_gmt":"2026-09-17T20:31:32","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90133"},"modified":"2026-09-18T04:31:32","modified_gmt":"2026-09-17T20:31:32","slug":"cve-2026-90133","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90133","title":{"rendered":"CVE-2026-90133 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nntfs: Fix index_root"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ntfs: Fix index_root heap OOB write in ntfs_ir_to_ib()<\/p>\n<p>ntfs_ir_to_ib copies all entries from index_root into a freshly allocated<br \/>\nindex_block_size-byte buffer without verifying that the entries fit in the<br \/>\navailable space. The entries in index_root may be larger than the usable<br \/>\nentry space in the index block.<\/p>\n<p>This can cause OOB writes past the end of the allocation.<\/p>\n<p>The validator ntfs_index_root_inconsistent() checks that entries are<br \/>\nself-consistent within the IR value, but never cross-checks them against<br \/>\nindex_block_size. There is no bounds check in ntfs_ir_to_ib() before the<br \/>\nmemcpy.<\/p>\n<p>Fixing this at the sink in ntfs_ir_to_ib() since<br \/>\nntfs_index_root_inconsistent() validates the logical consistency of<br \/>\nindex_root as a structure and a root with large entries is a structurally<br \/>\nvalid root. The bug is a size conflict of ntfs_ir_to_ib().<br \/>\nAlso, the validator is called once per inode load in<br \/>\nntfs_read_locked_inode() while ntfs_ir_to_ib() is only called during a<br \/>\nreparent, a check there adds no overhead to the common path.<br \/>\nMoreover, even a future call path that bypasses the validator would still<br \/>\nbe protected.<\/p>\n<p>With NULL as first parameter of ntfs_error(), the volume error flag is<br \/>\nnever set by this call, so the device name will be absent from the error<br \/>\nmessage. In any case, that the caller, ntfs_ir_reparent(), prints an error<br \/>\nmessage that includes the device name on NULL returns.<br \/>\nI think this is the best solution available without adding<br \/>\n&#8216;struct super_block *sb&#8217; as a parameter to ntfs_ir_to_ib().<\/p>\n<p>This heap out-of-bounds write is triggered by a crafted filesystem image,<br \/>\nwhich is not in the kernel threat model, anyway, fixing memory errors would<br \/>\nbe nice to keep  things secure.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ntfs: Fix index_root heap OOB write in ntfs_ir_to_ib()<\/p>\n<p>ntfs_ir_to_ib copies all entries from index_root into a freshly allocated<br \/>\ni<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25542","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25542","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=25542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}