ZeroHour
The Hacker Newspublished ()ingested @TheHackersNews1

New ENCFORGE Ransomware Targets AI Model Files in Langflow RCE Attack

highRansomware exploited in the wildimportance 60CVE-2025-3248CVE-2026-33017CVE-2026-55255

Vulnerabilities mentionedAll →

CVEVulnerabilityCVSSEPSSFlagsAffectedExposurePublished
CVE-2025-3248
Unauthenticated RCE in Langflow /api/v1/validate/code

Langflow, an open-source visual framework for building LLM and agentic AI applications, contains a missing authentication flaw (CWE-306) in its /api/v1/validate/code endpoint. A remote attacker with network reachability to the endpoint can send crafted HTTP requests without any credentials, causing arbitrary code execution on the server. Successful exploitation yields code execution under the application's privileges, enabling data theft, backdoor installation, and, per CISA, ransomware deployment. Any running Langflow instance is affected; the tool is typically self-hosted by development teams building AI workflows, so real-world exposure depends on whether each instance is reachable from untrusted networks. Exploitation is confirmed in the wild: the flaw was added to CISA's KEV catalog on 2025-05-05 with known ransomware use, EPSS assigns a 100% probability of exploitation within 30 days (100th percentile), and a public PoC is available.

Do: Upgrade Langflow to the latest patched release identified in the vendor's advisory; federal agencies must apply mitigations per vendor instructions under BOD 22-01 or discontinue use if mitigations are unavailable. Until patched, restrict network access to the /api/v1/validate/code endpoint via reverse-proxy authentication, firewall rules, or VPN placement, and avoid exposing Langflow directly to the internet. Because ransomware use is confirmed, review access and process-execution logs for signs of prior compromise.

9.8100% KEV ransomware PoC ×2
  • Langflow
moderatetens of thousands of self-hosted deployments, with likely only hundreds to low thousands directly exposed to the internet
CVE-2026-33017
Unauthenticated RCE in Langflow AI Workflow Builder

CVE-2026-33017 is an unauthenticated remote code execution flaw in Langflow, an open-source tool for building and deploying AI-powered agents and workflows. The POST /api/v1/build_public_tmp/{flow_id}/flow endpoint, which by design requires no authentication for building public flows, accepts an optional data parameter; when present, attacker-controlled flow data — including arbitrary Python code embedded in node definitions — is used instead of the flow stored in the database and passed to exec() with no sandboxing. An attacker who can reach this endpoint on an affected instance can therefore execute arbitrary Python code without any credentials, typically yielding full compromise of the underlying server. All Langflow versions prior to 1.9.0 are affected; the issue was fixed in 1.9.0 and is distinct from CVE-2025-3248, which only added authentication to the /api/v1/validate/code endpoint. The flaw was added to CISA's KEV catalog on 2026-03-25 (confirming exploitation in the wild), carries a 96.2% EPSS probability of exploitation within 30 days, and related reporting describes Langflow RCE attacks, including ransomware activity targeting AI model files.

Do: Upgrade all Langflow deployments to 1.9.0 or later. If immediate patching is not possible, keep Langflow off direct internet exposure (place it behind an authenticating reverse proxy or firewall) and review logs for unauthenticated POST requests to /api/v1/build_public_tmp/{flow_id}/flow that include a data parameter, which would indicate exploitation attempts. As a KEV entry, federal agencies must apply mitigations per vendor guidance and BOD 22-01, or discontinue use of the product if mitigations are unavailable.

9.396% KEV PoC ×4
  • Langflow all versions prior to 1.9.0 (fixed in 1.9.0)
moderateon the order of several thousand internet-exposed Langflow instances (estimate)
CVE-2026-55255
IDOR Authorization Bypass in Langflow Lets Attackers Run Other Users' Flows

Langflow, an open-source platform for building and deploying AI-powered agents and workflows, contains an authorization bypass (Insecure Direct Object Reference, CWE-639) in its /api/v1/responses endpoint in all versions prior to 1.9.1. An authenticated low-privileged user triggers the flaw by supplying another user's flow ID in the request, causing Langflow to execute that flow without verifying ownership. Because the attacker can run flows belonging to other users on a shared or multi-tenant instance, they can leverage those flows' configured credentials and integrations; public reporting indicates attackers are using the flaw for credential harvesting, which aligns with the flaw's high confidentiality and integrity impact (CVSS 3.1 score 8.4, with scope change). All Langflow deployments running anything earlier than 1.9.1 are affected, with multi-user or shared instances at greatest risk. CISA added the flaw to the Known Exploited Vulnerabilities catalog on 2026-07-07, confirming exploitation in the wild; ransomware use is currently unknown.

Do: Upgrade Langflow to 1.9.1 or later immediately, prioritizing internet-facing and multi-user instances, in line with CISA KEV and BOD 26-04 deadlines. If patching must wait, restrict access to /api/v1/responses to trusted users and review logs for requests specifying other users' flow IDs, which may indicate credential harvesting. Per BOD 26-04, evaluate each asset's internet exposure, follow the vendor advisory (GHSA-qrpv-q767-xqq2) for mitigations, and discontinue use where mitigations are unavailable.

8.4<1% KEV PoC
  • Langflow all versions prior to 1.9.1 (fixed in 1.9.1)
moderatelow thousands of internet-exposed Langflow instances (est.); total self-hosted deployments likely in the tens of thousands

Indicators of compromiseAll →

TypeIndicatorContext
sha2568cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2it before any retraining can start. Binary SHA-256: packed 8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2 ; unpacked ea7822eac6cecef7746c606b862b4d3034856caf754c4cf6
sha256ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328f1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2 ; unpacked ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328 . Sysdig has published the source and C2 addresses, the emb
Full article1,249 words · extracted from thehackernews.com · click to collapse

Researchers at Sysdig have linked a second attack on the same Langflow server to JADEPUFFER, the AI-agent-driven operator it first documented earlier this month.

The same operator has now been spotted deploying ENCFORGE, a new compiled Go ransomware designed to encrypt model weights, vector indexes, training datasets, and other AI infrastructure files across the host filesystem.

The entry point did not change. Langflow versions before 1.3.0 expose the /api/v1/validate/code endpoint without authentication, allowing any remote attacker to execute arbitrary Python on the server. The flaw, CVE-2025-3248, carries a CVSS score of 9.8 and has been in CISA's Known Exploited Vulnerabilities catalog since May 5, 2025.

As The Hacker News reported earlier this month, the prior operation used throwaway Python code and MySQL's AES_ENCRYPT() function to encrypt and destroy data in Nacos (Alibaba's configuration server) and production databases.

The new ENCFORGE payload replaces those improvised scripts with compiled tooling aimed at the model stores, vector databases, and training pipelines the first campaign swept for credentials.

The ENCFORGE Payload

Researchers retrieved the binary from the attacker's command-and-control server, where it was hidden as /.lockd; a direct request to /lockd returns 404, and the leading dot keeps it off a plain directory listing. The file is a UPX 5.20-packed static Go 1.22.12 ELF.

Threat intelligence platforms returned no detections on either the packed or unpacked hash at the time of Sysdig's analysis. The internal project name is encfile; the binary's error text references a companion keygen tool named keyforge. Both strings survive recompilation of the same codebase and serve as stable detection anchors.

Its default extension list covers PyTorch and TensorFlow checkpoints, Hugging Face SafeTensors, ONNX interchange format, GGUF (the current standard for locally deployed LLMs) and its predecessor GGML, FAISS vector indexes, Parquet and Arrow training datasets, NumPy arrays, and TensorFlow records.

An --include flag lets the operator append additional file globs; the built-in help text uses LoRA fine-tuning adapters and legacy GGML weights as examples. The full list runs to approximately 180 extensions. Those examples point directly at AI environments; a generic file locker would have little reason to name LoRA adapters or legacy GGML weights. Researchers read the choice as deliberate targeting, not incidental coverage.

ENCFORGE uses AES-256-CTR for file data, with the per-run symmetric key wrapped under an embedded RSA-2048 public key compiled into this build. Rather than encrypting whole files, it encrypts selected regions, the same speed optimization LockBit and BlackCat-class lockers use.

Each processed file is renamed with a .locked extension. The binary kills processes holding files open before encrypting, handles restarts without re-encrypting completed files, drops ransom notes as README, HOW_TO_DECRYPT, and README_DECRYPT, and deletes itself after running.

The recovered ENCFORGE binary has no exfiltration capability. It carries no networking code, cloud storage client, or staging mechanism, and researchers found no evidence of data exfiltration, a leak site, or a Tor payment portal during the session it observed. Its only leverage is the encrypted data.

The extortion contact embedded in the ransom notes is [email protected], the same Proton Mail address used in the prior campaign. Sysdig describes this as the strongest attribution link between the two operations.

Researchers disclosed one observed session, did not name the organization, and provided no victim count or evidence of another ENCFORGE deployment.

From Langflow to the Host

After confirming code execution, JADEPUFFER swept the container for credentials and found the Docker socket at /var/run/docker.sock. Its first attempt to pull ENCFORGE from the GCP command-and-control server failed. Rather than stopping, it adapted.

Over five minutes and 24 seconds, the operator created and revised six Python scripts through the same Langflow RCE channel until it had a working path to the host. The first script was built one line at a time, keeping any single request inert for signature-based inspection.

Starting with the second, the operator encoded each full script in base64 and decoded it inside an exec() call, avoiding shell-level searches for commands such as base64 -d. The final version used the Docker API to spin up a privileged container with the host PID namespace and root filesystem mounted, located the target process, copied ENCFORGE through /proc/<pid>/root, then ran it on the host via nsenter.

Across all iterations, the containers were created with Privileged: true, PidMode: host, NetworkMode: host, and the root filesystem bind-mounted read-write. That is host root.

Before the live run, the operator launched --try-run to scan the filesystem, then --lock for the live encryption pass. The final script checked process status, read the lock log, and counted files ending in .locked.

Researchers did not publish the resulting count; the disclosed evidence establishes a live encryption attempt, not how many model or dataset files were successfully encrypted.

Sysdig assessed the --task-id gcp_h1 flag as evidence the operator was tracking this host as a GCP target within a broader campaign; a try-run earlier in the session used task ID gcp_test. The report disclosed no additional victims or deployment sites.

Researchers documented the prior JADEPUFFER campaign correcting a failed Nacos login in 31 seconds. The same pattern held here against a harder problem: the operator built a host breakout through the exposed Docker socket when its preferred delivery route was blocked.

Patch Langflow, Then Protect the Models

Researchers estimate that rebuilding a production AI model once it has been encrypted could cost between $75,000 and $500,000 per model in cloud GPU compute and engineering time.

Production environments often run multiple specialized variants on shared storage, so a single ENCFORGE run could encrypt multiple variants stored on the same accessible filesystem. If training data sits on the same host, the organization has to reconstruct it before any retraining can start.

Binary SHA-256: packed 8cb0c223b018cecef1d990ec81c67b826eb3c30d54f06193cf69969e9a8baea2; unpacked ea7822eac6cecef7746c606b862b4d3034856caf754c4cf69533662637905328.

Sysdig has published the source and C2 addresses, the embedded RSA-2048 key fingerprint, and a YARA rule in its full report.

  • Upgrade Langflow to 1.9.1 or a current supported release. Version 1.3.0 closed CVE-2025-3248, the entry vector for this campaign, but CISA has since added two more Langflow vulnerabilities to its KEV catalog: CVE-2026-33017, an unauthenticated RCE flaw fixed in 1.9.0, added to KEV March 25, 2026; and CVE-2026-55255, a cross-user authorization bypass fixed in 1.9.1, added July 7, 2026.
  • Rotate AI provider keys, cloud credentials, database secrets, and any other tokens accessible to the Langflow process. Patching does not revoke credentials already harvested through a vulnerable instance.
  • Remove /var/run/docker.sock from any container that does not require it. Where socket access is unavoidable, scope it through a narrowly configured proxy; a standard Langflow deployment generally has no need to create containers, and unrestricted Docker socket access should be treated as a misconfiguration.
  • Alert on application processes calling Docker container-creation APIs, containers launched with Privileged: true or PidMode: host, host-root bind mounts, and nsenter execution from inside a container.
  • Keep model weights, vector indexes, and training datasets in offline or immutable snapshots. Monitor those directories for mass .locked file creation.

The Hacker News contacted Sysdig's Threat Research Team for further detail on the fleet campaign scope and attribution confidence; Sysdig had not responded by publication.

Model artifacts now belong in the same recovery tier as source code and production databases. An organization that can rebuild the application but cannot restore its weights, indexes, or training state has no clean route back.

Found this article interesting? Follow us on Google News, Twitter and LinkedIn to read more exclusive content we post.

Text extracted automatically; images, tables and formatting may be missing. Original: https://thehackernews.com/2026/07/new-encforge-ransomware-targets-ai.html