{"id":15998,"date":"2026-09-04T19:04:39","date_gmt":"2026-09-04T11:04:39","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-46303"},"modified":"2026-09-04T19:04:39","modified_gmt":"2026-09-04T11:04:39","slug":"cve-2026-46303","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-46303","title":{"rendered":"CVE-2026-46303 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nisofs: validate Rock"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>isofs: validate Rock Ridge CE continuation extent against volume size<\/p>\n<p>rock_continue() reads rs-&gt;cont_extent verbatim from the Rock Ridge CE<br \/>\nrecord and passes it to sb_bread() without checking that the block<br \/>\nnumber is within the mounted ISO 9660 volume.  commit e595447e177b<br \/>\n(&#8220;[PATCH] rock.c: handle corrupted directories&#8221;) added cont_offset<br \/>\nand cont_size rejection for the CE continuation but did not validate<br \/>\nthe extent block number itself.  commit f54e18f1b831 (&#8220;isofs: Fix<br \/>\ninfinite looping over CE entries&#8221;) later capped the CE chain length<br \/>\nat RR_MAX_CE_ENTRIES = 32 but again left the block number unchecked.<\/p>\n<p>With a crafted ISO mounted via udisks2 (desktop optical auto-mount)<br \/>\nor via CAP_SYS_ADMIN mount, rs-&gt;cont_extent can therefore point at<br \/>\nan out-of-range block or at blocks belonging to an adjacent<br \/>\nfilesystem on the same block device.  sb_bread() on an out-of-range<br \/>\nblock returns NULL cleanly via the block layer EIO path, so there<br \/>\nis no memory-safety violation.  For in-range reads of adjacent-<br \/>\nfilesystem data, the CE buffer is parsed as Rock Ridge records and<br \/>\nonly the text of SL sub-records reaches userspace through<br \/>\nreadlink(), which makes the info-leak channel narrow and difficult<br \/>\nto exploit; still, rejecting the malformed CE outright matches the<br \/>\nrejection shape already present in the same function for<br \/>\ncont_offset and cont_size.<\/p>\n<p>Add an ISOFS_SB(sb)-&gt;s_nzones bounds check to rock_continue() next<br \/>\nto the existing offset\/size rejection, printing the same<br \/>\ncorrupted-directory-entry notice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>isofs: validate Rock Ridge CE continuation extent against volume size<\/p>\n<p>rock_continue() reads rs-&gt;cont_extent verbatim from the Rock<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15998","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15998","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=15998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}