PoC files

6 files

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

GitHub

Docker lab environments

1
GitHub

docker-compose.yml

Created
Vuln labCVE-2024-47062Compose · images

1 Compose manifest · 1 service

Analysisdeepseek-v4-pro:cloud ·

Environment assessment

A Docker Compose environment running Navidrome 0.52.5, accompanied by Python scripts that exploit CVE-2024-47062 via SQL injection to extract user credentials and forge JWT tokens.

docker-compose.yml:1-11README.md:1-3exploit.py:1-108

Lab assessment

Vulnerability lab

The README explicitly states 'CVE-2024-47062 POC', and the included scripts demonstrate SQL injection and JWT forgery against the Navidrome service defined in the Compose file.

README.md:1exploit.py:1-108
Lab shapeCompose · images
Services1
Compose manifests1
Dockerfiles0
Evidence & reasoningComponents · CVE assessment · exercise context · review boundaries
Components

Services and files described by the evidence

navidrome

vulnerable target

Navidrome 0.52.5 music server, exposed on host port 4533, with bind-mounted music and data directories.

docker-compose.yml:4-10

exploit.py

SQL injection exploit

Authenticates to Navidrome, then performs UNION-based SQL injection on the /api/radio endpoint to dump user and property tables, and decrypts extracted passwords.

exploit.py:1-108

decryptor.py

password decryption utility

Decrypts base64-encoded AES-GCM ciphertext using a hardcoded key, used by exploit.py to reveal plaintext passwords.

decryptor.py:1-33

create_jwt.py

JWT forgery tool

Creates a forged JWT using a secret extracted from the property table, enabling privilege escalation.

create_jwt.py:1-16
CVE assessment

How the supplied evidence relates each vulnerability

CVE-2024-47062

Supported by supplied evidence

The exploit.py script demonstrates SQL injection against Navidrome 0.52.5, consistent with the CVE description, and the README explicitly labels the repository as a POC for this CVE.

README.md:1exploit.py:20-28
Exercise context

Requirements and sequence described by the evidence

Prerequisites

  • Docker and Docker Compose must be installed to run the Navidrome service.docker-compose.yml:1-11
  • Valid Navidrome credentials are required to authenticate and trigger the SQL injection.exploit.py:72-74
  • Python 3 with requests, urllib, and cryptography libraries must be available to run the exploit scripts.exploit.py:1-4decryptor.py:4-5

Evidence-described exercise path

  1. Start the vulnerable Navidrome instance using docker-compose up.docker-compose.yml:1-11
  2. Run exploit.py with the base URL and valid credentials to dump user and property tables via SQL injection.exploit.py:72-108
  3. Use the extracted JWT secret from the property table with create_jwt.py to forge an admin token.create_jwt.py:3-15
Safety-review evidence

Behaviors behind the stored safety assessment

No harmful behavior observed

All scripts target the local Navidrome container via the documented port mapping. No evidence of host escape, external connectivity, persistence, credential exfiltration, or destructive actions beyond the intended lab target.

exploit.py:1-108docker-compose.yml:1-11
Review boundaries

What the analysis did not establish

  • The navidrome.db binary file is uninspected; its contents are unknown.
  • No Dockerfile is present; the Navidrome image is pulled directly from Docker Hub without inspection.
  • The exercise path assumes the user has valid credentials; no default credentials are provided in the packet.
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