PoC files

6 files

File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.

GitHub

Analysisdeepseek-v4-pro:cloud ·

Technical assessment

The artifact contains a Python script (poc.py) that sends a crafted DELETE request to the vulnerable Langflow Knowledge Bases API endpoint to trigger arbitrary directory deletion via path traversal. The README describes the vulnerability and provides both the script and a curl command to perform the deletion.

Backdoor review

No backdoor observed in reviewed code

The supplied evidence consists of a Dockerfile, README.md, and poc.py for a CVE-2026-42048 proof-of-concept. The PoC demonstrates a path traversal vulnerability in Langflow by sending a crafted DELETE request to delete a target directory. No backdoor, trojan, or deceptive behavior was observed. The code performs only the advertised exploit action and contains no concealed payloads, persistence mechanisms, or unrelated remote access.

ClassificationExploit
Model confidence95%
AuthenticationRequired
LanguagesPythonShellDockerfile
Target softwareLangflow
Attack typesPath TraversalArbitrary Directory Deletion
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The primary artifact is poc.py, which is explicitly designed to send a malicious request to the vulnerable endpoint to delete an arbitrary directory. This constitutes exploit code because it exercises the vulnerability to cause the intended harmful effect (directory deletion), not merely detect or report exposure.

poc.py:1-72README.md:2README.md:68-71

Requirements

  • The target must be running a vulnerable Langflow version (< 1.9.0).README.md:23
  • The attacker must be authenticated or able to make authenticated API requests (low privileges).README.md:30
  • The attacker must be able to reach the DELETE /api/v1/knowledge_bases endpoint.README.md:24-28
  • The Langflow process must have filesystem permissions to delete the target directory.README.md:32

Observed behavior

  • The poc.py script constructs a JSON payload with a user-supplied path in the kb_names array and sends it as a DELETE request to /api/v1/knowledge_bases.poc.py:33-39
  • The script prints the HTTP status and response body after sending the request.poc.py:60-69
  • The README provides a curl command that performs the same DELETE request to delete the /target/CVE-2026-42048 directory.README.md:80-84
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Exploit Behavior
DELETE /api/v1/knowledge_bases with kb_names containing an absolute pathThe PoC sends a DELETE request to the vulnerable endpoint to delete a directory outside the intended Knowledge Base storage. This matches the described CVE-2026-42048 vulnerability.poc.py:32-42README.md:80-84
Target Directory
/target/CVE-2026-42048The lab setup creates a disposable target directory for the PoC to delete. The Dockerfile sets CHALLENGE_TARGET_DIR and the PoC defaults to this path.Dockerfile:18poc.py:9
Authentication Requirement
Authenticated user requiredThe README states that exploitation requires an authenticated attacker. The PoC does not include credential theft or authentication bypass; it assumes the user is already authenticated.README.md:30
Review boundaries

What the analysis did not establish

  • The evidence does not include the challenge-proxy.py, docker-entrypoint.sh, or flag.txt files, which are part of the lab setup but not the exploit logic.
  • The analysis is based solely on static review of the provided text files; the code was not executed, and its actual behavior in a live environment is not verified.
  • Three additional files (challenge-proxy.py, flag.txt, docker-entrypoint.sh) were present in the repository but not included in the text evidence. Their content was not reviewed. The analysis scope states these were omitted due to text selection rules, not because they were flagged as binary. If these files contained backdoor behavior, it would not be detected in this review.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

Docker lab environments

1
GitHub

Repository root

Created
Vuln labCVE-2026-42048Dockerfile

1 Dockerfile

Analysisdeepseek-v4-pro:cloud ·

Environment assessment

A single-container Docker lab that runs a vulnerable Langflow 1.8.4 instance behind a custom challenge proxy. The proxy exposes a minimal API to demonstrate CVE-2026-42048, a path traversal vulnerability in the knowledge base bulk delete endpoint.

Dockerfile:1-40README.md:1-216

Lab assessment

Vulnerability lab

The README explicitly describes the environment as a lab for CVE-2026-42048, provides build/run instructions, and includes a PoC script. The Dockerfile installs a vulnerable Langflow version and sets up a challenge proxy to exercise the vulnerability.

README.md:1-3README.md:55-70Dockerfile:1-40
Lab shapeDockerfile
ServicesUnknown
Compose manifests0
Dockerfiles1
Evidence & reasoningComponents · CVE assessment · exercise context · review boundaries
Components

Services and files described by the evidence

Langflow application

vulnerable target

Langflow version 1.8.4, installed via pip, runs internally on port 7860. It contains the vulnerable bulk delete endpoint DELETE /api/v1/knowledge_bases.

Dockerfile:22-23docker-entrypoint.sh:14

Challenge proxy

lab gatewayauthentication helperexploit target

A Python HTTP server (challenge-proxy.py) that listens on port 9101. It forwards DELETE requests to the internal Langflow API after obtaining an authentication token, and provides /status and /flag.txt endpoints to track lab progress.

Dockerfile:24challenge-proxy.py:1-196

Entrypoint script

lab initializer

Creates the target directory /target/CVE-2026-42048 with a proof file, starts Langflow in the background, and then launches the challenge proxy.

docker-entrypoint.sh:1-21

PoC script

exploit demonstration

A standalone Python script (poc.py) that sends a crafted DELETE request to the challenge proxy to trigger the path traversal and delete the target directory.

poc.py:1-72
CVE assessment

How the supplied evidence relates each vulnerability

CVE-2026-42048

Supported by supplied evidence

The lab installs Langflow 1.8.4 (before the fixed version 1.9.0), sets up the vulnerable DELETE /api/v1/knowledge_bases endpoint, and demonstrates path traversal via the kb_names parameter to delete /target/CVE-2026-42048. The README analysis matches the visible code behavior.

Dockerfile:22-23README.md:7-9challenge-proxy.py:130-155poc.py:30-40
Exercise context

Requirements and sequence described by the evidence

Prerequisites

  • Docker must be installed to build and run the container.README.md:55-70
  • The attacker must be able to reach the challenge proxy on port 9101.README.md:62-64
  • The Langflow process must have filesystem permission to delete the target directory (satisfied by running as root in the container).README.md:30-32

Evidence-described exercise path

  1. Build the Docker image: docker build -t cve-2026-42048 .README.md:57-59
  2. Run the container: docker run --rm -d -p 9101:9101 --name cve-2026-42048 cve-2026-42048README.md:62-64
  3. Check lab status: curl http://127.0.0.1:9101/status (target_exists should be true).README.md:67-69
  4. Exploit using PoC: python3 poc.py --url http://127.0.0.1:9101 --path /target/CVE-2026-42048, or with curl.README.md:75-90
  5. Verify deletion: curl http://127.0.0.1:9101/status (target_exists should be false).README.md:93-95
  6. Retrieve the flag: curl http://127.0.0.1:9101/flag.txt (only after target directory is deleted).challenge-proxy.py:113-120
Safety-review evidence

Behaviors behind the stored safety assessment

No harmful behavior observed

All visible behavior is confined to the lab container. The proxy only forwards requests to the internal Langflow API, the target directory is created inside the container, and the flag is a local fake flag. No host escape, external connections, persistence, or credential theft is observed.

Dockerfile:1-40challenge-proxy.py:1-196docker-entrypoint.sh:1-21
Review boundaries

What the analysis did not establish

  • No Compose file is present; the lab is a single Dockerfile.
  • The flag is a placeholder (EQST{FAKE_FLAG}) and not a real secret.
  • The PoC script is not executed by the container; it is a separate client tool.
Model interpretation

This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.

Linked vulnerabilities

1