CVE-2026-63767: ktransformers: unauth pickle RCE via ZMQ socket
CRITICAL CISA: TRACK*ktransformers, an inference framework used to run large language models efficiently on consumer hardware, ships a SchedulerServer component that binds a ZMQ ROUTER socket to all network interfaces without any authentication, and that socket deserializes incoming pickle payloads without validation — meaning anyone who can reach the port can embed a malicious __reduce__ method and get arbitrary shell commands executed as the server process. This is about as bad as it gets: CVSS 9.8, no privileges or user interaction required, network-exploitable, and the flaw is already documented publicly on GitHub with a technical write-up (issue #2087) tagged as an exploit, so weaponization is trivial even without EPSS telemetry yet. With 8,333 downstream dependents and 35 other CVEs already recorded against this package, any team running ktransformers-based inference — especially exposed beyond localhost — should treat this as an immediate compromise risk to the host and any data or credentials reachable from it. Patch to the version containing commit def0f93 immediately, or as a stopgap bind the SchedulerServer socket to localhost only and firewall off the ZMQ port until upgraded; hunt for unexpected child processes or outbound connections spawned by the ktransformers server process as a sign of prior exploitation.
What is the risk?
Critical risk. The vulnerability combines the worst possible exploitability profile — network-reachable, no authentication, no privileges, no user interaction, low attack complexity — with full compromise impact (confidentiality, integrity, and availability all rated High). The root cause, CWE-502 unsafe pickle deserialization, is a well-understood and reliably exploitable class of bug with mature public tooling for payload generation. A working technical description and exploit discussion are already public on GitHub, and a third-party advisory (VulnCheck) exists, which materially raises the likelihood of opportunistic scanning even though it is not yet in CISA KEV and has no confirmed EPSS score. The absence of a Nuclei template or confirmed in-the-wild exploitation is the only mitigating factor, and that gap is likely to close quickly given how mechanical this exploit class is to automate.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Transformers | pip | — | No patch |
Do you use Transformers? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step-
Upgrade immediately to the version containing commit def0f9313d6e063b5c5ccdfa1f6707f7a40dfdca (merged via PR #2091), which removes or secures the unauthenticated pickle deserialization path. Until patched, do not expose the SchedulerServer ZMQ port to any untrusted network — bind it to localhost or a private management VLAN only, and enforce firewall/security-group rules restricting inbound access to that port to known trusted hosts. Where firewalling isn't immediately feasible, consider placing the scheduler behind a VPN or mutual-TLS proxy that ZMQ itself does not natively provide. For detection, monitor for unexpected child processes, shell spawns, or outbound network connections originating from the ktransformers server process, and review logs for unusual or malformed ZMQ traffic on the scheduler port. Inventory all internal hosts running ktransformers (via package/process scanning) since exposure is often unintentional in internal-only deployments that assumed network isolation was sufficient authentication.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-63767?
ktransformers, an inference framework used to run large language models efficiently on consumer hardware, ships a SchedulerServer component that binds a ZMQ ROUTER socket to all network interfaces without any authentication, and that socket deserializes incoming pickle payloads without validation — meaning anyone who can reach the port can embed a malicious __reduce__ method and get arbitrary shell commands executed as the server process. This is about as bad as it gets: CVSS 9.8, no privileges or user interaction required, network-exploitable, and the flaw is already documented publicly on GitHub with a technical write-up (issue #2087) tagged as an exploit, so weaponization is trivial even without EPSS telemetry yet. With 8,333 downstream dependents and 35 other CVEs already recorded against this package, any team running ktransformers-based inference — especially exposed beyond localhost — should treat this as an immediate compromise risk to the host and any data or credentials reachable from it. Patch to the version containing commit def0f93 immediately, or as a stopgap bind the SchedulerServer socket to localhost only and firewall off the ZMQ port until upgraded; hunt for unexpected child processes or outbound connections spawned by the ktransformers server process as a sign of prior exploitation.
Is CVE-2026-63767 actively exploited?
No confirmed active exploitation of CVE-2026-63767 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-63767?
Upgrade immediately to the version containing commit def0f9313d6e063b5c5ccdfa1f6707f7a40dfdca (merged via PR #2091), which removes or secures the unauthenticated pickle deserialization path. Until patched, do not expose the SchedulerServer ZMQ port to any untrusted network — bind it to localhost or a private management VLAN only, and enforce firewall/security-group rules restricting inbound access to that port to known trusted hosts. Where firewalling isn't immediately feasible, consider placing the scheduler behind a VPN or mutual-TLS proxy that ZMQ itself does not natively provide. For detection, monitor for unexpected child processes, shell spawns, or outbound network connections originating from the ktransformers server process, and review logs for unusual or malformed ZMQ traffic on the scheduler port. Inventory all internal hosts running ktransformers (via package/process scanning) since exposure is often unintentional in internal-only deployments that assumed network isolation was sufficient authentication.
What systems are affected by CVE-2026-63767?
This vulnerability affects the following AI/ML architecture patterns: model serving, distributed inference, agent frameworks.
What is the CVSS score for CVE-2026-63767?
CVE-2026-63767 has a CVSS v3.1 base score of 9.8 (CRITICAL). The EPSS exploitation probability is 1.12%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0011.000 Unsafe AI Artifacts AML.T0049 Exploit Public-Facing Application AML.T0050 Command and Scripting Interpreter Compliance Controls Affected
What are the technical details?
Original Advisory
ktransformers through 0.6.3, fixed in commit def0f93, contains an unauthenticated pickle deserialization vulnerability that allows remote attackers to execute arbitrary commands by sending crafted pickle payloads to the SchedulerServer ZMQ ROUTER socket bound to all interfaces. Attackers can exploit malicious __reduce__ methods embedded in crafted pickle payloads to execute arbitrary shell commands as the server process.
Exploitation Scenario
An attacker scans public or internal IP ranges for open ZMQ ROUTER ports typical of ktransformers' SchedulerServer deployment, or discovers the exposure via a misconfigured cloud security group on a self-hosted LLM inference server. They connect to the socket and send a crafted pickle payload embedding a malicious __reduce__ method designed to execute a reverse shell or download-and-execute command. Because the socket performs no authentication and deserializes the payload directly, the malicious code runs immediately as the server process — no credentials, no user click, no prior access required. From there, the attacker has a foothold on the inference host with access to model weights, GPU resources, and any adjacent internal services, which they can use for data exfiltration, cryptomining, or further lateral movement into the organization's AI infrastructure.
Weaknesses (CWE)
CWE-502 — Deserialization of Untrusted Data: The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
- [Architecture and Design, Implementation] If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified.
- [Implementation] When deserializing data, populate a new object rather than just deserializing. The result is that the data flows through safe input validation and that the functions are safe.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H References
- github.com/kvcache-ai/ktransformers/commit/def0f9313d6e063b5c5ccdfa1f6707f7a40dfdca patch
- github.com/kvcache-ai/ktransformers/issues/2087 technical-description exploit
- github.com/kvcache-ai/ktransformers/pull/2091 issue-tracking
- vulncheck.com/advisories/ktransformers-unauthenticated-pickle-deserialization-rce-via-zmq third-party-advisory
Timeline
Related Vulnerabilities
CVE-2026-47117 9.8 OpenMed: RCE via trust_remote_code model loading
Same package: transformers CVE-2026-26210 9.8 KTransformers: pickle RCE via unauthenticated ZMQ socket
Same package: transformers CVE-2024-3568 9.6 HuggingFace Transformers: RCE via pickle deserialization
Same package: transformers CVE-2026-5241 9.6 transformers: trust_remote_code bypass enables RCE via model load
Same package: transformers CVE-2024-11392 8.8 HuggingFace Transformers: RCE via config deserialization
Same package: transformers