to_abs_path in scripts/iib/tool.py normalised the requested path with os.path.normpath, which collapses dot segments but does not resolve symbolic links. A symlink placed inside a scanned directory therefore satisfies the containment comparison performed by is_path_trusted in scripts/iib/api.py while pointing outside that directory, and FileResponse follows the link when serving the response, so a link created in an image directory and targeting a file such as /etc/passwd discloses that file. 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 resolves the path with os.path.realpath.
Metrics
Affected Vendors & Products
References
History
Fri, 21 Aug 2026 15:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | to_abs_path in scripts/iib/tool.py normalised the requested path with os.path.normpath, which collapses dot segments but does not resolve symbolic links. A symlink placed inside a scanned directory therefore satisfies the containment comparison performed by is_path_trusted in scripts/iib/api.py while pointing outside that directory, and FileResponse follows the link when serving the response, so a link created in an image directory and targeting a file such as /etc/passwd discloses that file. 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 resolves the path with os.path.realpath. | |
| Title | Infinite Image Browsing Resolves Paths With normpath, Allowing Symlink Escape From Scanned Directories | |
| First Time appeared |
Zanllp
Zanllp sd-webui-infinite Image Browsing |
|
| Weaknesses | CWE-59 | |
| CPEs | cpe:2.3:a:zanllp:sd-webui-infinite_image_browsing:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Zanllp
Zanllp sd-webui-infinite Image Browsing |
|
| References |
|
|
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: VulnCheck
Published: 2026-08-21T15:03:09.325Z
Updated: 2026-08-21T15:03:09.325Z
Reserved: 2026-08-21T14:14:43.821Z
Link: CVE-2026-77815
No data.
Status : Received
Published: 2026-08-21T15:16:47.883
Modified: 2026-08-21T15:16:47.883
Link: CVE-2026-77815
No data.