{"id":8758,"date":"2026-09-04T18:50:04","date_gmt":"2026-09-04T10:50:04","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74485-2"},"modified":"2026-09-04T18:50:04","modified_gmt":"2026-09-04T10:50:04","slug":"cve-2026-74485-2","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74485-2","title":{"rendered":"CVE-2026-74485 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbinfmt_misc: reject a"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>binfmt_misc: reject a flag character as the field delimiter<\/p>\n<p>The registration string starts with a user chosen delimiter that<br \/>\nseparates the individual fields. So that the field parsers terminate<br \/>\neven on a truncated string create_entry() pads the buffer with that<br \/>\nsame delimiter:<\/p>\n<p>\tmemset(buf + count, del, 8);<\/p>\n<p>Most fields are scanned for the delimiter with strchr()\/scanarg() and<br \/>\nhappily stop on the padding. The flags field is different: instead of<br \/>\nscanning for the delimiter check_special_flags() consumes the flag<br \/>\ncharacters &#8216;P&#8217;, &#8216;O&#8217;, &#8216;C&#8217; and &#8216;F&#8217; and stops at the first byte that is<br \/>\nnone of them, relying on the trailing delimiter to end the scan.<\/p>\n<p>If the delimiter is itself a flag character the padding no longer acts<br \/>\nas a terminator. The scan swallows all eight padding bytes and keeps<br \/>\nreading past the end of the allocation until it hits a byte that is<br \/>\nnot a flag character. For example registering<\/p>\n<p>\tPaPEPPxPPiP<\/p>\n<p>with &#8216;P&#8217; as the delimiter (name &#8220;a&#8221;, type extension, magic &#8220;x&#8221;,<br \/>\ninterpreter &#8220;i&#8221;, empty flags) leaves the flag scan running off the end<br \/>\nof the buffer. The registration is rejected in the end because the<br \/>\nparser does not stop exactly at buf + count, but only after the out of<br \/>\nbounds read has already happened. With an unlucky allocation layout the<br \/>\nscan can walk into an unmapped page; under KASAN it is reported as a<br \/>\nslab out of bounds read. binfmt_misc mounts are available to<br \/>\nunprivileged users in a user namespace so the read is reachable without<br \/>\nprivileges.<\/p>\n<p>Reject a delimiter that is one of the flag characters up front. Such a<br \/>\nregistration was always rejected anyway, only after the out of bounds<br \/>\nread, so no valid registration string changes meaning.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>binfmt_misc: reject a flag character as the field delimiter<\/p>\n<p>The registration string starts with a user chosen delimiter that<br \/>\nsepar<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-8758","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/8758","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=8758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}