{"id":21539,"date":"2026-09-12T04:31:19","date_gmt":"2026-09-11T20:31:19","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89617"},"modified":"2026-09-12T04:31:19","modified_gmt":"2026-09-11T20:31:19","slug":"cve-2026-89617","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89617","title":{"rendered":"CVE-2026-89617 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nfs\/ntfs3: validate di"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>fs\/ntfs3: validate dirty page table on log replay<\/p>\n<p>Each DIR_PAGE_ENTRY ends in a page_lcns[] array whose length is the on-disk<br \/>\nlcns_follow field. check_rstbl() validates the table bookkeeping but never<br \/>\nchecks that this array fits in the entry, so a crafted lcns_follow lets the<br \/>\nv0-&gt;v1 conversion memmove and later replay passes run off the entry.<\/p>\n<p>Add check_dp_table() to reject, right after check_rstbl(), any entry larger<br \/>\nthan its size claims via struct_size() (the same expression used to allocate<br \/>\nthese entries, so the check is overflow-safe by construction). All consumers<br \/>\ncan then trust lcns_follow as the real capacity. This covers every<br \/>\npage_lcns[] access whose index is bounded by the entry itself (the<br \/>\nconversion memmove, the HotFix store via find_dp(), and the self-bounded<br \/>\nscan loops). Accesses whose index comes from the log record need a separate<br \/>\nbound and are handled in a follow-up patch.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>fs\/ntfs3: validate dirty page table on log replay<\/p>\n<p>Each DIR_PAGE_ENTRY ends in a page_lcns[] array whose length is the on-disk<br \/>\nlcns<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21539","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21539","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=21539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}