Follow-up to ea44cf4, from the automated security review of that commit:
- resolve_untrusted (py/config.py) now allowlists the accepted shapes:
a drive-letter absolute path on Windows (or '/'-rooted elsewhere), or a
UNC path under a UNC allowed root. Rooted NT device forms (\??\...,
\.\...), root-relative (\foo), drive-relative (C:foo) and relative
values are rejected before any filesystem access.
- eagle_routes _resolve_absolute_svg_path called os.path.isfile on the
raw client path before the containment check — on Windows a UNC value
makes that isfile() connect to the host with the account's credentials.
The containment check (string-only abspath/commonpath) now runs first
and isfile() only on paths under a ComfyUI-managed folder.
- eagle_routes _resolve_local_path rejects UNC/drive/absolute/.. subfolder
values as strings before the join (commonpath raised ValueError for
those instead of returning None).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>