{"id":25608,"date":"2026-09-18T04:31:37","date_gmt":"2026-09-17T20:31:37","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90199"},"modified":"2026-09-18T04:31:37","modified_gmt":"2026-09-17T20:31:37","slug":"cve-2026-90199","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90199","title":{"rendered":"CVE-2026-90199 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nfs\/ntfs3: reject out-"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>fs\/ntfs3: reject out-of-range evcn in mi_enum_attr()<\/p>\n<p>In mi_enum_attr(), the start\/end VCN validation for non-resident<br \/>\nattributes is:<\/p>\n<p>\tif (svcn &gt; evcn + 1) goto out;<\/p>\n<p>When evcn is U64_MAX the &#8220;evcn + 1&#8221; expression wraps to 0 and any svcn<br \/>\npasses the check. For evcn values close to U64_MAX (but not equal to it)<br \/>\nthe right-hand side is still a meaningless near-wrap upper bound, so a<br \/>\nmalformed on-disk attribute with svcn == 0 and evcn near U64_MAX can pass<br \/>\nmi_enum_attr() unrejected.<\/p>\n<p>VCN (virtual cluster number) is a cluster index, so any valid evcn is<br \/>\nbounded by the volume&#8217;s total cluster count, which ntfs3 holds in<br \/>\nsbi-&gt;used.bitmap.nbits (set up in ntfs_init_from_boot() before any caller<br \/>\nof mi_enum_attr() runs). Reject evcn values that fall outside this range.<\/p>\n<p>However, an empty non-resident attribute (no allocated clusters) is<br \/>\nlegitimately encoded with svcn == 0 and evcn == -1 (U64_MAX), e.g. via<br \/>\nattr-&gt;nres.evcn = cpu_to_le64((u64)vcn &#8211; 1) with vcn == 0. That sentinel<br \/>\nmust keep passing, so exclude evcn == U64_MAX from the range check. The<br \/>\nexisting &#8220;svcn &gt; evcn + 1&#8221; test still tolerates the sentinel (&#8220;0 &gt; 0&#8221; is<br \/>\nfalse) and continues to require svcn == 0 for it, while the range check<br \/>\nrejects every other out-of-range evcn and thereby also defuses the<br \/>\n&#8220;evcn + 1&#8243; wraparound.<\/p>\n<p>svcn does not need its own bound: once evcn  evcn + 1&#8221;<br \/>\nimplies svcn &lt;= nbits.<\/p>\n<p>[almaz.alexandrovich@paragon-software.com: fixed evcn check]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>fs\/ntfs3: reject out-of-range evcn in mi_enum_attr()<\/p>\n<p>In mi_enum_attr(), the start\/end VCN validation for non-resident<br \/>\nattributes i<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25608","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25608","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=25608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}