{"id":29082,"date":"2026-09-25T20:31:50","date_gmt":"2026-09-25T12:31:50","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97926"},"modified":"2026-09-25T20:31:50","modified_gmt":"2026-09-25T12:31:50","slug":"cve-2026-97926","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97926","title":{"rendered":"CVE-2026-97926 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nufs: validate cylinde"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ufs: validate cylinder group metadata before caching it<\/p>\n<p>ufs_read_cylinder() copies the cylinder group index and the rotor<br \/>\npositions straight from the on-disk group and caches them without any<br \/>\ncheck:<\/p>\n<p>\tucpi-&gt;c_cgx    = fs32_to_cpu(sb, ucg-&gt;cg_cgx);<br \/>\n\tucpi-&gt;c_rotor  = fs32_to_cpu(sb, ucg-&gt;cg_rotor);<br \/>\n\tucpi-&gt;c_frotor = fs32_to_cpu(sb, ucg-&gt;cg_frotor);<br \/>\n\tucpi-&gt;c_irotor = fs32_to_cpu(sb, ucg-&gt;cg_irotor);<\/p>\n<p>They are then used as indices during allocation and free:<\/p>\n<p>  &#8211; c_cgx indexes the cylinder summary array as<br \/>\n    UFS_SB(sb)-&gt;fs_cs(ucpi-&gt;c_cgx), so a value past s_ncg writes a 32<br \/>\n    bit count outside the s_csp allocation.<\/p>\n<p>  &#8211; c_frotor becomes a bitmap scan start, start = c_frotor &gt;&gt; 3, and<br \/>\n    then length = ((s_fpg + 7) &gt;&gt; 3) &#8211; start. A start beyond the block<br \/>\n    bitmap wraps the unsigned length to a huge value, so ubh_scanc()<br \/>\n    walks far past the cylinder group buffers. c_irotor drives the<br \/>\n    inode bitmap the same way.<\/p>\n<p>A crafted image can set any of these freely, turning an ordinary<br \/>\nallocation into an out of bounds access.<\/p>\n<p>Reject a cylinder group whose recorded index does not match the group<br \/>\nbeing read, or whose rotors fall outside the group, before the metadata<br \/>\nis cached. Valid filesystems keep cg_cgx equal to the group number and<br \/>\nthe rotors within the group, so only malformed images are rejected.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ufs: validate cylinder group metadata before caching it<\/p>\n<p>ufs_read_cylinder() copies the cylinder group index and the rotor<br \/>\nposition<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29082","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29082","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=29082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}