Skip to main content

ComfyUI EUVDEUVD-2026-51401

| CVE-2026-56671 HIGH
Path Traversal (CWE-22)
2026-07-31 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach ComfyUI web server
  2. Delivery
    Send model-preview request with traversal filename
  3. Exploit
    Escape model directory via ../ or absolute path
  4. Execution
    Server decodes file through Pillow
  5. Persist
    Read image or observe existence oracle
  6. Impact
    Enumerate host paths and internal structure

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires network access to ComfyUI's built-in web server and a reachable model preview request handled by get_model_preview in app/model_manager.py on any version before 0.28.0 - no authentication, credentials, or user interaction are needed (AV:N/AC:L/PR:N/UI:N against default configurations, since ComfyUI ships without authentication). The attacker must supply the traversal via the {filename:.*} route capture (literal ../, encoded %2e%2e%2f, or an absolute path) or an out-of-range path_index. Key LIMITING factors: full content disclosure is restricted to files Pillow can decode and re-encode as WEBP (images); all other files yield only a file-existence/enumeration oracle plus internal-path leakage rather than raw content, so this is not a general arbitrary-text-file read. Exploitation is also gated by the server being network-exposed, which is not the default binding for many local installs.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, base 7.5) indicates a network-reachable, low-complexity, unauthenticated read primitive with no integrity or availability impact - consistent with the description of an unauthenticated remote traversal oracle. Real-world impact is meaningfully constrained by the design: the target file is piped through Pillow and re-encoded as WEBP, so full content disclosure is limited to image-decodable files, while non-image files yield only a file-existence/enumeration signal and internal path leakage - arguably closer to C:L for arbitrary secrets, though C:H is defensible given unrestricted host-path enumeration and disclosure of any image on disk. No EPSS score, KEV entry, POC, or SSVC decision data was provided in the input, so probability-of-exploitation and automatability cannot be quantified from these sources; the absence of KEV and POC signals suggests this is not yet weaponized. Net: a genuine unauthenticated exposure worth prompt patching, but the image-only content constraint makes it a reconnaissance/limited-disclosure issue rather than a direct arbitrary-file-read of credentials.

Exploit ScenarioDerived

A remote attacker who can reach the ComfyUI HTTP interface sends a crafted request to the model preview endpoint with a filename such as ../../../../ or an absolute path, using literal or percent-encoded traversal, to enumerate host directories and read any image-decodable file outside the model folder. By observing successful WEBP responses versus errors (including path_index error messages), the attacker maps the filesystem and confirms file existence. No authentication or user interaction is required (PR:N/UI:N); no public POC is currently identified.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 31, 2026

Unauthenticated information disclosure in ComfyUI (comfy-org/comfyui) before 0.28.0 lets remote attackers read arbitrary image-decodable files and enumerate the host filesystem via the get_model_preview endpoint, which joins an unrestricted {filename:.*} route capture to the model directory with no containment check (CWE-22). Attackers can use literal ../, percent-encoded %2e%2e%2f, absolute paths, or an unbounded path_index to escape the model folder; disclosure is bounded to files Pillow can decode plus a file-existence/path-enumeration oracle. No public exploit identified at time of analysis, and it is not listed in CISA KEV; the issue is fixed in version 0.28.0.

RemediationAI

Vendor-released patch: upgrade to ComfyUI 0.28.0 or later (https://github.com/Comfy-Org/ComfyUI/releases/tag/v0.28.0), which adds path normalization and a realpath-based is_within_directory() containment check in app/model_manager.py plus validation of the filename and path_index parameters; see advisory GHSA-pj59-g5vv-74q4 and PR #14734. If immediate upgrade is not possible, do not expose the ComfyUI web server directly to untrusted networks - bind it to localhost or place it behind a reverse proxy/VPN and require authentication, since ComfyUI ships without authentication by default (trade-off: breaks remote multi-user access). As a targeted stopgap, block or filter requests to the model preview route (the /view / get_model_preview handler) at the proxy and reject requests whose filename contains traversal sequences, encoded traversal (%2e), or absolute paths (trade-off: may break legitimate preview thumbnails). Running the process under a least-privileged user on a container/host with minimal readable image files limits the value of the disclosure oracle.

Affected VersionsENISA

comfyui < 0.28.0

Affected Packages

euvd comfyui fix: 0.28.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ComfyUI is a widely used node/graph-based GUI, API and backend for diffusion (Stable Diffusion-style) image generation models, exposing an aiohttp web server. The flaw lives in get_model_preview within app/model_manager.py, which constructed a filesystem path with os.path.join(folder, filename) where filename came from an aiohttp route capture defined as {filename:.*} - an unrestricted regex matching any characters including path separators and traversal sequences. Because os.path.join discards the base folder when the second argument is absolute, and because no normalization or prefix check was applied, both relative traversal and absolute paths escaped the intended model directory. The additional path_index parameter was parsed as an int with no bounds validation, producing internal-path leakage through error messages. This is a classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) root cause; the vendor fix adds os.path.normpath plus a folder_paths.is_within_directory() containment check (using realpath + commonpath to also defeat symlink escape), rejects empty filenames and out-of-range path_index, and hardens sibling endpoints against dangerous content-type inline rendering.

Know when Comfyui gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Unauthenticated network traversal with low complexity (PR:N/AC:L/AV:N) yields file/host-path disclosure (C:H) but no write or availability impact (I:N/A:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Jul 31, 2026 - 06:15 EUVD
CVE Published
Jul 31, 2026 - 04:21 cve.org
HIGH 7.5

DescriptionCVE.org

ComfyUI is a modular diffusion model GUI, api and backend with a graph/nodes interface. Prior to 0.28.0, get_model_preview in app/model_manager.py joins an unrestricted filename route capture to a selected model directory without a containment check, allowing an unauthenticated remote attacker to use traversal, encoded traversal, absolute paths, or an unbounded path_index to read image-decodable files and enumerate host paths. get_model_preview (app/model_manager.py) built the path with os.path.join(folder, filename) where filename is an unrestricted {filename:.*} route capture. Literal ../, percent-encoded %2e%2e%2f, and absolute paths all escaped the model directory; path_index was also unbounded. The target file is piped through Pillow and re-encoded as WEBP, so disclosure is limited to image-decodable files plus a file-existence/enumeration oracle (and internal-path leakage via path_index errors). This issue is fixed in version 0.28.0.

Executive ViewAI

Why It Matters

ComfyUI versions before 0.28.0 contain an unauthenticated path traversal vulnerability allowing remote attackers to read arbitrary files and enumerate the host filesystem without authentication. Any organization exposing ComfyUI to untrusted networks risks disclosure of sensitive AI models, configuration data, and system information that could enable further attacks.

Business Impact: High
Compensating Controls

Vendor-released patch: ComfyUI 0.28.0. If immediate patching is not feasible, restrict network access to ComfyUI to trusted internal networks only, disable unauthenticated access to the get_model_preview endpoint via reverse proxy or WAF, and enable detailed logging of all requests to that endpoint for forensic review.

Threat Intelligence Overview

EPSS Score
0.7%
Top 52% exploitable
Prevalence
Medium
very popular diffusion-model GUI in AI/ML community, limited enterprise footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2026-92816 HIGH POC
8.5 Sep 16

Arbitrary file write via path traversal in ComfyUI before 0.30.0 lets an attacker place attacker-controlled content anyw

CVE-2024-12882 HIGH POC
7.5 Mar 20

comfyanonymous/comfyui version v0.2.4 suffers from a non-blind Server-Side Request Forgery (SSRF) vulnerability. Rated h

CVE-2024-10099 MEDIUM POC
6.1 Oct 17

A stored cross-site scripting (XSS) vulnerability exists in comfyanonymous/comfyui version 0.2.2 and possibly earlier. R

CVE-2026-68771 CRITICAL
9.3 Jul 31

Remote code execution in ComfyUI v0.23.0 (and all prior 0.x releases) lets unauthenticated attackers run arbitrary Pytho

CVE-2026-56672 HIGH
8.2 Jul 31

Stored cross-site scripting in ComfyUI (Comfy-Org) before 0.28.0 lets an attacker upload HTML or SVG to the per-user use

CVE-2026-56670 HIGH
8.2 Jul 31

Stored cross-site scripting in ComfyUI before 0.28.0 lets an attacker upload a malicious SVG that the /view endpoint ser

CVE-2026-56673 HIGH
7.5 Jul 31

Path traversal arbitrary file read in ComfyUI (comfy-org) before 0.28.0 lets remote unauthenticated attackers probe arbi

CVE-2026-6591 LOW POC
2.1 Apr 20

Path traversal in ComfyUI up to version 0.13.0 allows authenticated remote attackers to read arbitrary files on the serv

CVE-2026-6590 LOW POC
2.1 Apr 20

Path traversal in ComfyUI up to version 0.13.0 allows authenticated remote attackers to read arbitrary files via manipul

CVE-2026-6589 LOW POC
2.1 Apr 20

Cross-site request forgery (CSRF) in ComfyUI up to version 0.13.0 allows unauthenticated remote attackers to modify appl

CVE-2026-6593 LOW POC
2.0 Apr 20

Cross-site scripting (XSS) in ComfyUI up to version 0.13.0 allows authenticated remote attackers to inject malicious scr

CVE-2026-6592 LOW POC
2.0 Apr 20

Stored cross-site scripting (XSS) in ComfyUI's userdata endpoint (getuserdata function in app/user_manager.py) allows au

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy