CVE-2026-42208 : Injection SQL dans la vérification de clé API Proxy LiteLLM
Analyse de la cause racine
Section intitulée « Analyse de la cause racine »La vulnérabilité identifiée réside dans la logique de validation des clés API du serveur proxy LiteLLM. L’examen technique du code source affecté révèle que le serveur proxy effectue des recherches en base de données pour vérifier les clés API entrantes. Dans les versions affectées, l’entrée fournie dans l’en-tête Authorization est concaténée directement dans la chaîne de caractères de la requête SQL utilisée pour cette vérification.
Le point d’injection est déclenché lorsque le mécanisme de gestion des erreurs du proxy invoque la vérification de clé après un échec de validation initial. Un attaquant n’a pas besoin d’identifiants valides pour atteindre ce chemin vulnérable. En injectant des commandes SQL dans la chaîne du jeton Bearer, un attaquant force le serveur proxy à exécuter des requêtes non autorisées contre la base de données backend.
Analyse de l’exploitation
Section intitulée « Analyse de l’exploitation »Le vecteur d’attaque est basé sur le réseau et ne nécessite aucune authentification. Un attaquant envoie une requête POST standard vers n’importe quelle route LLM publique (par exemple, /chat/completions) avec un en-tête Authorization contenant une charge utile SQL au lieu d’une clé API légitime.
La base de données backend exécute le SQL injecté, permettant l’extraction de clés stockées, de paramètres de configuration et d’autres métadonnées. Comme la logique de l’application échoue à paramétrer l’entrée, le SQL injecté devient partie intégrante du contexte de requête de l’application.
Indicateurs médico-légaux
Section intitulée « Indicateurs médico-légaux »La détection doit se concentrer sur la surveillance des anomalies dans les journaux du proxy web et l’activité de la base de données :
- En-têtes Authorization malveillants : Journaux réseau montrant des volumes élevés de requêtes
POSToù l’en-têteAuthorizationcontient des séquences de caractères suspectes associées à l’injection SQL (par exemple,SELECT,UNION,INSERT). - Erreurs internes du proxy : Un pic dans les codes d’état de la série 500 dans les journaux LiteLLM correspondant aux requêtes avec des jetons
Bearermalformés ou suspects, indiquant des tentatives d’injection enregistrées via le chemin d’erreur. - Anomalies de base de données : Journaux de requêtes de base de données montrant des opérations
SELECTouUNIONinattendues provenant du compte de service proxy qui ne correspondent pas au trafic de vérification de clé API standard.
Règles de détection
Section intitulée « Règles de détection »title: Detect LiteLLM SQL Injection Attemptlogsource: product: litellm category: web_serverdetection: selection: http_method: 'POST' http_header_authorization: '*Bearer *' keywords: - 'SELECT ' - 'UNION ' - 'INSERT ' - 'UPDATE ' - 'DELETE ' - 'FROM ' condition: selection AND keywordslevel: criticalAtténuation
Section intitulée « Atténuation »Effectuez une mise à niveau vers la version 1.83.7 de LiteLLM ou plus récente, où les requêtes en base de données ont été refactorisées pour utiliser des méthodes d’entrée paramétrées.
Si une mise à niveau immédiate n’est pas possible, la modification de configuration temporaire suivante atténue l’exploit en désactivant le chemin de code vulnérable :
- Définissez
disable_error_logs: truedans le fichier de configuration LiteLLM.