db
A PostgreSQL 15 Alpine container that stores LiteLLM data. It is configured with a healthcheck and exposes port 5432.
docker-compose.yml:3-15CVE-2025-45809 has a selected CVSS score of 5.4 (medium); EIP currently links 1 repository PoC and 1 lab environment.
SQL Injection vulnerability in BerriAI LiteLLM before 1.81.0 allows attackers to execute arbitrary commands via the key parameter to the "/key/block" and "/key/unblock" API endpoints.
A Python exploit for CVE-2025-45809, a time-based blind SQL injection in LiteLLM's /key/block and /key/unblock endpoints. It sends crafted payloads to trigger pg_sleep() delays, confirms the vulnerability, and extracts database data and files character-by-character.
No backdoor observed in reviewed code
The repository contains a proof-of-concept exploit for CVE-2025-45809, a SQL injection vulnerability in LiteLLM. The exploit script sends time-based blind SQL injection payloads to a target server to confirm the vulnerability and extract data. All observed behavior is consistent with a legitimate PoC: it sends crafted HTTP requests to demonstrate the vulnerability, measures response times, and extracts data character-by-character. No concealed executable behavior, persistence, credential theft, or unrelated payloads were found.
The artifact contains executable Python code (exploit/exploit.py) that actively sends SQL injection payloads to a target server to trigger time delays, extract database contents, and read server files. This is the definition of an exploit.
exploit/exploit.py:1-386exploit/payload.py:1-102exploit/exploit.py:47-70exploit/exploit.py:73-103exploit/exploit.py:149-155exploit/exploit.py:158-161exploit/exploit.py:164-175exploit/exploit.py:202-261exploit/exploit.py:280-313exploit/exploit.py:106-136exploit/payload.py:14-27exploit/exploit.py:73-103README.md:57-61exploit/exploit.py:264-277exploit/exploit.py:280-313This 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 demonstrating CVE-2025-45809, a time-based blind SQL injection vulnerability in LiteLLM versions before 1.81.0. It includes a PostgreSQL database, a vulnerable LiteLLM v1.65.4 service built from a local Dockerfile, and an optional fixed LiteLLM v1.83.10 service. Exploit scripts are provided to confirm the injection and extract data.
docker-compose.yml:1-50README.md:1-242The README explicitly states the environment is a proof-of-concept for CVE-2025-45809, a SQL injection vulnerability in LiteLLM. The Compose file defines a vulnerable service (litellm-vuln) with the affected version, a database, and a fixed service for comparison. Exploit scripts are included to exercise the vulnerability.
README.md:1-3docker-compose.yml:18-31A PostgreSQL 15 Alpine container that stores LiteLLM data. It is configured with a healthcheck and exposes port 5432.
docker-compose.yml:3-15A LiteLLM v1.65.4 service built from a local Dockerfile. It is the vulnerable target for the SQL injection exploit. It mounts a config file and connects to the db service.
docker-compose.yml:18-31litellm-vuln/Dockerfile:1-16A LiteLLM v1.83.10-stable service used to demonstrate that the vulnerability is fixed. It is only started when the 'fixed' profile is enabled.
docker-compose.yml:34-50A Python script that performs time-based blind SQL injection against the /key/block endpoint. It can confirm the vulnerability, extract database users, versions, and read files.
exploit/exploit.py:1-386A Python module that constructs SQL injection payloads for pg_sleep delays, data exfiltration, and file reading.
exploit/payload.py:1-102Supported by supplied evidence
The environment is explicitly designed to demonstrate CVE-2025-45809. The vulnerable service uses LiteLLM v1.65.4, which is within the affected range (<1.81.0). The exploit scripts target the /key/block endpoint with time-based SQL injection payloads, matching the CVE description.
README.md:1-3litellm-vuln/Dockerfile:7exploit/exploit.py:1-6README.md:55-57README.md:59-60requirements.txt:1README.md:63-68exploit/exploit.py:72-100README.md:55-57README.md:59-60README.md:62-63README.md:71-72README.md:74-75README.md:77-78README.md:80-82All visible behavior is directed at the lab's own vulnerable target. The exploit scripts send SQL injection payloads to the local LiteLLM service to demonstrate the vulnerability. There is no evidence of host escape, external connections, persistence, credential theft, or destructive actions beyond the intended lab exercise.
exploit/exploit.py:1-386exploit/payload.py:1-102docker-compose.yml:1-50This 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.