Files
ketle-manandClaude Fable 5 f39227a95b security: harden path validation (NT device forms, Eagle SVG path)
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>
2026-11-14 13:29:16 +09:00
..