{"id":11106,"date":"2026-09-04T18:51:40","date_gmt":"2026-09-04T10:51:40","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-77814"},"modified":"2026-09-04T18:51:40","modified_gmt":"2026-09-04T10:51:40","slug":"cve-2026-77814","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-77814","title":{"rendered":"CVE-2026-77814 [HIGH] &#8211; is_path_trusted in scripts\/iib\/api.py compares the requested path against each allowed par"},"content":{"rendered":"<p>is_path_trusted in scripts\/iib\/api.py compares the requested path against each allowed parent directory with path.startswith(parent_path), without appending a path separator. A directory whose name merely begins with an allowed path therefore satisfies the comparison, so where \/data\/images is allowed a request for \/data\/images_private\/secret.txt is treated as trusted and served by FileResponse, disclosing files the confinement was meant to exclude. Whether the check applies depends on get_enable_access_control in scripts\/iib\/tool.py: it returns true when IIB_ACCESS_CONTROL is set to enable, false when set to disable, and otherwise true when the host Stable Diffusion WebUI was started with share, ngrok, listen or server_name, falling back to false. Confinement is therefore active in the network-exposed WebUI deployments that rely on it, while a standalone run with no such option serves every readable file regardless of this flaw. The fix compares against parent_path joined with os.sep.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>is_path_trusted in scripts\/iib\/api.py compares the requested path against each allowed parent directory with path.startswith(parent_path), without appending a path separator. A directory whose name me<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11106","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11106","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=11106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}