db
PostgreSQL 16 database for Windmill, configured with a healthcheck.
labs/windmill/docker-compose.yml:14-23File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
The repository 'Windfall' contains a full exploitation framework for CVE-2026-29059 (path traversal) and CVE-2026-23696 (SQL injection) in Windmill/Nextcloud Flow. It includes Python scripts (windfall_afr.py, windfall_sqli.py, windfall_nc_pivot.py) and Metasploit modules that actively exploit these vulnerabilities to leak credentials, forge JWTs, and achieve remote code execution.
No backdoor observed in reviewed code
The supplied evidence consists of documentation and Metasploit module source code for a publicly disclosed path traversal and SQL injection exploit (CVE-2026-29059, CVE-2026-23696) targeting Windmill/Nextcloud Flow. All reviewed files describe or implement the expected exploit behavior: reading arbitrary files, leaking credentials, forging JWTs, and achieving remote code execution on the target. No concealed backdoor, unrelated payload, or operator-directed harm beyond the stated exploit was observed.
The artifact includes Metasploit modules (windmill_path_traversal_rce.rb, windmill_sqli_rce.rb) that actively exploit vulnerabilities to achieve remote code execution. The README describes these as 'exploits' and provides usage examples for obtaining shells. The code is intended to exercise the vulnerability, not merely detect it.
README.md:128-130metasploit/modules/exploits/linux/http/windmill_path_traversal_rce.rb:17-21metasploit/modules/exploits/linux/http/windmill_sqli_rce.rb:18-22README.md:23-24README.md:195README.md:294README.md:140-144metasploit/modules/exploits/linux/http/windmill_path_traversal_rce.rb:115-117metasploit/modules/exploits/linux/http/windmill_sqli_rce.rb:147-165README.md:107-110metasploit/modules/exploits/linux/http/windmill_path_traversal_rce.rb:121-124metasploit/modules/exploits/linux/http/windmill_path_traversal_rce.rb:134-145metasploit/modules/exploits/linux/http/windmill_path_traversal_rce.rb:115-117metasploit/modules/exploits/linux/http/windmill_sqli_rce.rb:147-165README.md:263-275This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.
A Docker Compose environment for Windmill (v1.603.2) consisting of a PostgreSQL database, a Windmill server, a Windmill worker with Docker socket access, and a setup service that creates a default operator user and workspace. The environment is designed to demonstrate path traversal, SQL injection, and host escape vulnerabilities.
labs/windmill/docker-compose.yml:1-91labs/windmill/README.md:1-43The README explicitly states it is a 'Test environment for Windmill vulnerabilities' and provides commands to run path traversal, SQLi, and host escape exploits. The Docker Compose file pins a vulnerable version (1.603.2) and includes a comment about a Docker socket mount for a 'host escape demo (INSECURE - lab only!)'.
labs/windmill/README.md:1-3labs/windmill/docker-compose.yml:1-5labs/windmill/docker-compose.yml:62-63PostgreSQL 16 database for Windmill, configured with a healthcheck.
labs/windmill/docker-compose.yml:14-23Windmill server v1.603.2, exposed on port 8000, with a SUPERADMIN_SECRET environment variable. It depends on the db service and mounts a volume for worker logs.
labs/windmill/docker-compose.yml:25-44Windmill worker v1.603.2, with the Docker socket mounted for a host escape demonstration. It depends on the db service.
labs/windmill/docker-compose.yml:46-63A temporary service using curlimages/curl that creates an operator user, a demo workspace, and adds the operator to the workspace via the Windmill API, using the SUPERADMIN_SECRET for authentication.
labs/windmill/docker-compose.yml:66-89labs/windmill/README.md:7-8pyproject.toml:6-12labs/windmill/README.md:13-20labs/windmill/docker-compose.yml:62-63labs/windmill/README.md:7-8labs/windmill/README.md:10-11labs/windmill/README.md:13-14labs/windmill/README.md:16-17labs/windmill/README.md:19-20The windmill_worker service mounts the host's Docker socket (/var/run/docker.sock) for a documented host escape demonstration. While the README and Compose file disclose this as a lab-only insecure configuration, the mount enables the exploit to execute arbitrary commands on the Docker host, which constitutes concrete host impact. The behavior is disclosed, but the impact is severe and warrants a suspicious verdict.
labs/windmill/docker-compose.yml:62-63labs/windmill/README.md:19-20labs/windmill/docker-compose.yml:62-63This 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.
A PostgreSQL 16 container initialized with a SQL script that creates tables and inserts sample data, including simulated secrets, tokens, and credentials. The Dockerfile installs curl. The broader repository describes a Windmill/Nextcloud Flow vulnerability research project, but this unit only contains a standalone database setup.
labs/postgres-post/Dockerfile:1-6labs/postgres-post/init.sql:1-158The unit provides a PostgreSQL database with sample data that could serve as a target for SQL injection or credential theft exercises described in the repository README. However, the unit itself contains no exploit code, vulnerable application, or explicit vulnerability research instructions. It is a standalone database initialization that may support a lab but does not independently demonstrate a vulnerability research purpose.
labs/postgres-post/Dockerfile:1-6labs/postgres-post/init.sql:1-158README.md:1-490A PostgreSQL 16 database server initialized with tables (users, secrets, api_tokens, metrics, files, events, sessions, tags, configurations) and sample data including simulated credentials, tokens, and secrets. The Dockerfile installs curl, but no curl usage is shown.
labs/postgres-post/Dockerfile:1-6labs/postgres-post/init.sql:1-158labs/postgres-post/Dockerfile:1-6labs/postgres-post/Dockerfile:5The unit only builds a PostgreSQL container with sample data. It does not execute any commands, expose ports, mount host resources, or perform any actions beyond database initialization. No harmful behavior is visible.
labs/postgres-post/Dockerfile:1-6labs/postgres-post/init.sql:1-158This 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.
A single-service Docker Compose environment running PostgreSQL 16 with a custom initialization script that creates tables and inserts sample data, including simulated secrets and credentials. The environment appears to be a standalone database lab, not directly related to the Windfall vulnerability research described in the repository README.
labs/postgres-post/docker-compose.yml:1-16labs/postgres-post/init.sql:1-158The Docker Compose file defines a basic PostgreSQL service with no vulnerable application, no exploit code, and no connection to the Windfall vulnerability research described in the repository README. The init.sql script populates the database with sample data, including fake secrets, but does not set up a vulnerable target or exercise any vulnerability. The lab is a simple database environment, not a vulnerability reproduction lab.
labs/postgres-post/docker-compose.yml:1-16labs/postgres-post/init.sql:1-158PostgreSQL 16 database service with environment variables for user, password, and database name. It mounts an initialization script and a named volume for data persistence. Port 15432 on the host is mapped to container port 5432.
labs/postgres-post/docker-compose.yml:2-12labs/postgres-post/docker-compose.yml:1labs/postgres-post/docker-compose.yml:9The environment is a simple PostgreSQL database with no exploit code, no vulnerable application, and no behavior that targets the host, external systems, or persists beyond the container. The port mapping and volume mounts are standard for a database lab and do not indicate malicious intent.
labs/postgres-post/docker-compose.yml:1-16labs/postgres-post/init.sql:1-158This 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.
A Docker Compose environment that starts six PostgreSQL database instances (versions 12 through 17) with a shared initialization script that creates tables and populates them with sample data including simulated secrets, tokens, and credentials.
labs/postgres-multiversion/docker-compose.yml:1-80labs/postgres-multiversion/init.sql:1-161The environment provides multiple PostgreSQL versions with a dataset that includes secrets, tokens, and password hashes, which could serve as a target for vulnerability research or exploit development. However, the Compose file and init script contain no exploit code, no vulnerable application, and no explicit vulnerability-research instructions. The README describes a Windmill/Nextcloud vulnerability lab, but the supplied unit (postgres-multiversion) does not include Windmill or Nextcloud components. The relationship between this database environment and the Windfall exploits is not established by the evidence.
labs/postgres-multiversion/docker-compose.yml:1-80labs/postgres-multiversion/init.sql:1-161README.md:1-490A PostgreSQL 12 container initialized with the shared init.sql script, exposing port 5432 on host port 15012.
labs/postgres-multiversion/docker-compose.yml:2-11A PostgreSQL 13 container initialized with the shared init.sql script, exposing port 5432 on host port 15013.
labs/postgres-multiversion/docker-compose.yml:13-22A PostgreSQL 14 container initialized with the shared init.sql script, exposing port 5432 on host port 15014.
labs/postgres-multiversion/docker-compose.yml:24-33A PostgreSQL 15 container initialized with the shared init.sql script, exposing port 5432 on host port 15015.
labs/postgres-multiversion/docker-compose.yml:35-44A PostgreSQL 16 container initialized with the shared init.sql script, exposing port 5432 on host port 15016.
labs/postgres-multiversion/docker-compose.yml:46-55A PostgreSQL 17 container initialized with the shared init.sql script, exposing port 5432 on host port 15017.
labs/postgres-multiversion/docker-compose.yml:57-66labs/postgres-multiversion/docker-compose.yml:1labs/postgres-multiversion/docker-compose.yml:8The Compose file defines six standard PostgreSQL containers with no privileged mode, no host filesystem mounts beyond the init script, and no network exposure beyond mapped ports. The init script creates tables and inserts sample data; it does not execute shell commands, download payloads, or modify the host. No exploit code, backdoor, or destructive behavior is present in the supplied unit.
labs/postgres-multiversion/docker-compose.yml:1-80labs/postgres-multiversion/init.sql:1-161This 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.
A Docker Compose environment for a Nextcloud AIO instance with an nginx reverse proxy, intended as a test lab for Windmill vulnerabilities via Nextcloud Flow.
labs/nextcloud-flow/README.md:1-3labs/nextcloud-flow/docker-compose.yml:1-44The README explicitly states it is a 'Test environment for Windmill vulnerabilities via Nextcloud Flow' and provides exploit usage instructions for path traversal and SQLi.
labs/nextcloud-flow/README.md:1-3labs/nextcloud-flow/README.md:37-55Runs the Nextcloud All-in-One master container, which manages the Nextcloud instance. It mounts the Docker socket (read-only) and a named volume for configuration, and exposes port 8180 for the AIO web interface.
labs/nextcloud-flow/docker-compose.yml:7-19An nginx container that terminates SSL on port 443 and proxies requests to the Nextcloud Apache service at nextcloud-aio-apache:11000. It uses bind-mounted configuration and SSL certificates.
labs/nextcloud-flow/docker-compose.yml:21-33labs/nextcloud-flow/nginx/nginx.conf:1-25The Nextcloud Apache service, referenced in the nginx configuration as the upstream proxy target. It is not explicitly declared in the Compose file but is expected to be started by the AIO master container.
labs/nextcloud-flow/nginx/nginx.conf:12Python scripts (windfall_afr.py and windfall_sqli.py) for path traversal and SQL injection exploits against Windmill/Flow. They are referenced in the README and defined as entry points in pyproject.toml.
labs/nextcloud-flow/README.md:37-55pyproject.toml:13-14labs/nextcloud-flow/README.md:7-9labs/nextcloud-flow/README.md:13-15labs/nextcloud-flow/README.md:19-26labs/nextcloud-flow/README.md:33-35labs/nextcloud-flow/README.md:13-15labs/nextcloud-flow/README.md:19-26labs/nextcloud-flow/README.md:33-35labs/nextcloud-flow/README.md:39-40labs/nextcloud-flow/README.md:43-46labs/nextcloud-flow/README.md:48-55The environment is a self-contained vulnerability lab. The Docker socket mount is read-only and required for AIO to manage containers. The nginx proxy and SSL certificates are for local access. No hidden, destructive, or external behaviors are visible.
labs/nextcloud-flow/docker-compose.yml:1-44labs/nextcloud-flow/README.md:1-71This 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.
A Docker Compose environment that builds a single container running Windmill 1.394.4 with an embedded PostgreSQL database, supervisor, and test data initialization scripts. The README describes it as a lab for testing path traversal vulnerabilities in Windmill.
labs/windmill-allinone/docker-compose.yml:1-21labs/windmill-allinone/Dockerfile:1-42README.md:1-490The README explicitly states the environment is for testing path traversal and SQL injection vulnerabilities in Windmill, and the Dockerfile builds a specific vulnerable version (1.394.4) with test data containing fake credentials and secrets.
README.md:1-3labs/windmill-allinone/Dockerfile:5labs/windmill-allinone/init-testdata.sql:1-34A single service built from the Dockerfile, running Windmill 1.394.4 with an embedded PostgreSQL database. It exposes port 8000 internally, mapped to host port 8100. The container runs supervisor to manage PostgreSQL, Windmill, and a test data initialization script.
labs/windmill-allinone/docker-compose.yml:6-15labs/windmill-allinone/Dockerfile:5-42labs/windmill-allinone/supervisord.conf:1-36PostgreSQL 15 installed and initialized inside the container, storing Windmill data and test credentials. It listens on localhost:5432 and is started by supervisor before Windmill.
labs/windmill-allinone/Dockerfile:9-24labs/windmill-allinone/supervisord.conf:7-14A shell script that waits for PostgreSQL and Windmill migrations, then executes init-testdata.sql to insert fake users, secrets, tokens, and resources into the database.
labs/windmill-allinone/init-testdata.sh:1-17labs/windmill-allinone/init-testdata.sql:1-34Supervisor runs as PID 1, managing PostgreSQL, Windmill, and the init-testdata script. It ensures services start in the correct order and restarts them if they fail.
labs/windmill-allinone/supervisord.conf:1-36labs/windmill-allinone/docker-compose.yml:1-21labs/windmill-allinone/Dockerfile:1-42labs/windmill-allinone/supervisord.conf:1-36labs/windmill-allinone/docker-compose.yml:9-10labs/windmill-allinone/docker-compose.yml:1-21labs/windmill-allinone/docker-compose.yml:12-15README.md:155-160README.md:161-180README.md:220-250The lab is self-contained: it builds a vulnerable Windmill instance with fake test data, exposes only port 8100, and does not mount the Docker socket, run in privileged mode, or connect to external systems. All exploit behavior described in the README targets the lab's own container, and no hidden or unnecessary compromise is visible.
labs/windmill-allinone/docker-compose.yml:1-21labs/windmill-allinone/Dockerfile:1-42labs/windmill-allinone/init-testdata.sql:1-34This 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.