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 provides a shell script (poc.sh) that sends HTTP requests to a D-Tale instance to enable custom filters and then injects a pandas query to execute an arbitrary OS command ('id'), confirming remote code execution. It also includes a Dockerfile to set up a vulnerable lab environment and a README with exploitation instructions.

Backdoor review

No backdoor observed in reviewed code

The supplied evidence consists of a Dockerfile, README, and a bash PoC script for CVE-2024-3408. All files describe or automate exploitation of the stated vulnerability in D-Tale. No concealed, deceptive, or operator-directed harmful behavior beyond the normal exploit was observed.

ClassificationExploit
Model confidence95%
AuthenticationNot required
LanguagesShellDockerfileMarkdown
Target softwareman-group/dtale
Attack typesRemote Code ExecutionAuthentication Bypass
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The script poc.sh actively sends crafted requests to a target to enable a feature and then inject a payload that executes an arbitrary OS command, which is the definition of exploit code. The README explicitly labels it as a 'Proof of Concept' and provides curl commands to achieve RCE.

scripts/poc.sh:2scripts/poc.sh:10scripts/poc.sh:21-22README.md:26-33

Requirements

  • A running D-Tale instance vulnerable to CVE-2024-3408 (version 3.10.0 used in lab).Dockerfile:19README.md:7-13
  • Network access to the target D-Tale instance.scripts/poc.sh:5

Observed behavior

  • Sends a GET request to /dtale/update-settings/1 to enable custom filters.scripts/poc.sh:10
  • Sends a GET request to /dtale/test-filter/1 with a malicious pandas query that executes the 'id' command via Python's os.popen.scripts/poc.sh:21-22
  • Checks the response for 'uid=' to confirm successful command execution.scripts/poc.sh:24
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Exploit Command
curl -s -G "${TARGET}/dtale/test-filter/1" --data-urlencode "query=@pd.core.frame.com.builtins.__import__('os').popen('id').read()"The PoC script executes a command injection payload against the target D-Tale instance to demonstrate RCE, consistent with the described CVE.scripts/poc.sh:21-22
Hardcoded Secret
SECRET_KEY hardcoded in D-Tale (mentioned in README)The README documents the hardcoded SECRET_KEY as part of the vulnerability description, not as a secret embedded in the PoC itself.README.md:9
Review boundaries

What the analysis did not establish

  • Only three of six repository files were provided as text; the remaining three files (likely docker-compose.yml, start.py, and .gitignore) are omitted, but their absence does not prevent classification of the included exploit script.
  • The evidence was not executed; classification is based solely on static analysis of the provided source code and documentation.
  • Three additional files (metadata only) were omitted from the evidence packet and not reviewed.
  • Binary content was not present; the review is limited to the supplied text files.
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

docker-compose.yml

Created
Vuln labCVE-2024-3408Compose · builds

1 Compose manifest · 1 Dockerfile · 1 service

Analysisdeepseek-v4-pro:cloud ·

Environment assessment

A Docker Compose environment that builds and runs a D-Tale 3.10.0 instance on port 40000, intended as a reproducible lab for CVE-2024-3408 authentication bypass and remote code execution.

README.md:1-3docker-compose.yml:1-8Dockerfile:1-27

Lab assessment

Vulnerability lab

The README explicitly states it is a 'Reproducible lab environment for CVE-2024-3408', the Dockerfile installs the vulnerable dtale==3.10.0, and a proof-of-concept script is provided.

README.md:1-3Dockerfile:14-18scripts/poc.sh:1-3
Lab shapeCompose · builds
Services1
Compose manifests1
Dockerfiles1
Evidence & reasoningComponents · CVE assessment · exercise context · review boundaries
Components

Services and files described by the evidence

dtale service

vulnerable target application

A container built from the local Dockerfile, running D-Tale 3.10.0 with a sample DataFrame. It exposes port 40000 to the host and has no authentication configured.

docker-compose.yml:2-6Dockerfile:14-18start.py:10-22

start.py

application launchersample data provider

A Python script that creates a small pandas DataFrame and starts the D-Tale server on 0.0.0.0:40000. It keeps the process alive for the container.

start.py:1-30

poc.sh

exploit validation script

A bash script that demonstrates the CVE-2024-3408 exploit by enabling custom filters and executing the 'id' command via pandas query injection against the target.

scripts/poc.sh:1-32
CVE assessment

How the supplied evidence relates each vulnerability

CVE-2024-3408

Supported by supplied evidence

The Dockerfile installs dtale==3.10.0, which is within the affected range (<=3.15.1). The README and poc.sh describe and demonstrate the hardcoded SECRET_KEY and code execution via custom filters, matching the CVE description.

Dockerfile:14-18README.md:7-11scripts/poc.sh:1-32
Exercise context

Requirements and sequence described by the evidence

Prerequisites

  • Docker and Docker Compose must be installed to build and run the environment.README.md:15-17
  • The target D-Tale instance must be reachable at the specified URL (default http://localhost:40000).scripts/poc.sh:5

Evidence-described exercise path

  1. Build and start the vulnerable D-Tale container using 'docker compose up -d --build'.README.md:15-17
  2. Enable custom filters by sending a GET request to /dtale/update-settings/1 with settings={'enable_custom_filters':true}.README.md:22-24scripts/poc.sh:10
  3. Execute arbitrary commands via pandas query injection on the /dtale/test-filter/1 endpoint, e.g., using @pd.core.frame.com.builtins.__import__('os').popen('id').read().README.md:27-29scripts/poc.sh:20-21
Safety-review evidence

Behaviors behind the stored safety assessment

No harmful behavior observed

All visible behavior is directed at the lab's own D-Tale target. The container exposes port 40000, which is necessary for the exercise. No host escape, persistence, credential theft, external connections, or destructive actions are present.

docker-compose.yml:1-8Dockerfile:1-27start.py:1-30scripts/poc.sh:1-32
Review boundaries

What the analysis did not establish

  • The packet includes a .gitignore file that was not provided as evidence text; its contents are unknown but unlikely to change the assessment.
  • CVE-2025-0655 is mentioned in the README references but is not part of the selected unit_cve_ids; no evidence for it is assessed.
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