Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Unauthenticated network-reachable endpoints (PR:N, AV:N) with a trivially crafted pickle (AC:L) yield full RCE as the process user, giving C:H/I:H/A:H and S:U.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
ComfyUI v0.23.0 contains an unsafe deserialization vulnerability in the LoadTrainingDataset node that allows unauthenticated remote attackers to execute arbitrary Python code by uploading a crafted pickle file and triggering its deserialization. Attackers can upload a malicious shard_*.pkl file via the unauthenticated POST /upload/image endpoint and then queue a workflow graph via POST /prompt referencing the uploaded file, causing torch.load to deserialize the attacker-controlled pickle payload using __reduce__ and execute arbitrary commands as the ComfyUI process user.
Articles & Coverage 2
AnalysisAI
Remote code execution in ComfyUI v0.23.0 (and all prior 0.x releases) lets unauthenticated attackers run arbitrary Python by abandoning the LoadTrainingDataset node to torch.load a malicious pickle. Because the upload and prompt-queue endpoints require no authentication, an attacker who can reach the web interface can upload a crafted shard_*.pkl file and trigger deserialization to execute commands as the ComfyUI process user. VulnCheck reported the flaw and a vendor fix exists; there is no public exploit identified at time of analysis, though the technique (pickle __reduce__ abuse) is trivial to reproduce.
Technical ContextAI
The root cause is CWE-502 (Deserialization of Untrusted Data). ComfyUI's dataset loading node (comfy_extras/nodes_dataset.py) called PyTorch's torch.load() on user-supplied .pkl shard files. torch.load defaults to Python's pickle module, which invokes an object's __reduce__ method during unpickling - allowing an attacker to embed a callable such as os.system that runs at load time. The affected component is the comfy-org:comfyui application (cpe:2.3:a:comfy-org:comfyui:*), a widely used node-graph front-end for Stable Diffusion and other generative-AI models. The vendor fix (PR #14543, commit 94ee49b) hardens the call to torch.load(f, weights_only=True), which restricts unpickling to tensor/weight primitives and blocks arbitrary object reconstruction.
RemediationAI
Apply the vendor fix from PR #14543 / commit 94ee49b1612824366a8631ea069b2a1fa5c73720 (https://github.com/Comfy-Org/ComfyUI/pull/14543), which changes torch.load to use weights_only=True; upgrade to a build that includes this commit past 0.23.0 - an exact tagged patched release version is not independently confirmed from the provided data, so verify the running build contains the commit. As compensating controls where immediate patching is not possible: do not expose the ComfyUI web server (default port 8188) to untrusted networks - bind it to localhost or place it behind an authenticating reverse proxy or VPN, since the /upload/image and /prompt endpoints are unauthenticated by design; block or restrict access to the /upload/image endpoint at the proxy to prevent attacker-controlled .pkl uploads, accepting that this may break legitimate dataset-upload workflows; and avoid running ComfyUI as a privileged user to limit blast radius, noting this does not prevent code execution, only reduces post-exploitation impact.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-51652
GHSA-6p72-9j26-4rmx