{"id":11944,"date":"2026-09-04T18:53:58","date_gmt":"2026-09-04T10:53:58","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80536"},"modified":"2026-09-04T18:53:58","modified_gmt":"2026-09-04T10:53:58","slug":"cve-2026-80536","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80536","title":{"rendered":"CVE-2026-80536 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nxfs: bounds-check buf"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>xfs: bounds-check buffer log item&#8217;s dirty bitmap<\/p>\n<p>xlog_recover_do_reg_buffer() replays each dirty region described by a<br \/>\nbuffer log item&#8217;s bitmap into the buffer read for that item:<\/p>\n<p>\tmemcpy(xfs_buf_offset(bp, (uint)bit &lt;ri_buf[i].iov_base,<br \/>\n\t\tnbits &lt;&lt; XFS_BLF_SHIFT);<\/p>\n<p>The destination offset (bit\/nbits, from the logged dirty bitmap) and the<br \/>\nbuffer size (from the logged blf_len) are both attacker-controlled and<br \/>\notherwise unrelated, yet the only thing bounding the copy is an ASSERT(),<br \/>\nwhich compiles away on production kernels. A crafted image logging a<br \/>\nsmall blf_len together with a bitmap bit past the end of that buffer<br \/>\ndrives the memcpy() past the buffer&#039;s allocation, corrupting adjacent<br \/>\nkernel heap during mount-time log recovery. This is reachable by anyone<br \/>\nwho can get a crafted image mounted &#8212; the malicious-filesystem threat<br \/>\nmodel XFS already guards against elsewhere.<\/p>\n<p>Turn the ASSERT() into a real XFS_IS_CORRUPT() check that aborts recovery<br \/>\nof the buffer with -EFSCORRUPTED, consistent with the validate-and-fail<br \/>\nidiom already used in xlog_recover_do_inode_buffer() and<br \/>\nxfs_dquot_item_recover.c. xlog_recover_do_reg_buffer() therefore becomes<br \/>\nSTATIC int and its three callers propagate the error.<\/p>\n<p>Found and confirmed with KASAN on a CONFIG_XFS_DEBUG=n build: the crafted<br \/>\nimage trips a slab-out-of-bounds write before this change and fails<br \/>\nrecovery cleanly with -EFSCORRUPTED after it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>xfs: bounds-check buffer log item&#8217;s dirty bitmap<\/p>\n<p>xlog_recover_do_reg_buffer() replays each dirty region described by a<br \/>\nbuffer log <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11944","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11944","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=11944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}