Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-54761-poc — Prueba de concepto que demuestra un bypass de autorización en el proveedor de Traefik para Kubernetes Gateway (CVE-2026-54761) mediante una vulnerabilidad de crossProviderNamespaces, exponiendo servicios internos como api@internal. | Kitploit
Herramientas/GitHubGitHub/saku0512/cve-2026-54761-poc
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad en la NubeAprendizaje y Educación
GitHubsaku0512/cve-2026-54761-poc

CVE-2026-54761-poc

Prueba de concepto que demuestra un bypass de autorización en el proveedor de Traefik para Kubernetes Gateway (CVE-2026-54761) mediante una vulnerabilidad de crossProviderNamespaces, exponiendo servicios internos como api@internal.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 1 mesAún no revisado

CVE-2026-54761: Bypass de crossProviderNamespaces en Traefik Kubernetes Gateway PoC

Versión en inglés

Resumen

Este repositorio es una prueba de concepto (PoC) para reproducir localmente la vulnerabilidad de alta gravedad CVE-2026-54761 presente en el proveedor Kubernetes Gateway de Traefik.

Esta vulnerabilidad afecta la lista de permitidos de crossProviderNamespaces. En las reglas HTTPRoute que declaran múltiples referencias a backends con peso, Traefik valida la lista de permitidos contra el backendRef.namespace de la referencia en lugar del namespace de la propia ruta. Como resultado, incluso un HTTPRoute situado en un namespace no permitido puede exponer servicios internos de Traefik como api@internal, siempre que la referencia al backend apunte a un namespace permitido y exista el ReferenceGrant correspondiente de Gateway API.

Reportado por: saku0512 (https://github.com/Saku0512), vvvvvvvvvvel (https://github.com/vvvvvvvvvvel)


Descargo de responsabilidad

Este proyecto tiene únicamente fines educativos y para pruebas de seguridad autorizadas.

No ejecute esta PoC en sistemas que no posea o administre. Está diseñada para crear un clúster local kind desechable y demostrar el problema en un entorno aislado.


Detalles de la vulnerabilidad

  • CVE ID: CVE-2026-54761
  • Producto: Traefik
  • Componente: Proveedor Kubernetes Gateway
  • Tipo: Bypass de autorización / Exposición de servicio interno
  • Impacto: Servicios internos de Traefik como api@internal pueden quedar expuestos a través del plano de datos normal
  • Versiones afectadas: Versiones de Traefik anteriores a las corregidas
  • Versiones corregidas: v3.6.21 y v3.7.5

Causa raíz

La opción crossProviderNamespaces está diseñada para restringir los namespaces de las rutas de Gateway API que pueden declarar referencias a backends TraefikService que incluyan referencias al servicio @internal.

En la ruta de procesamiento vulnerable de backends con peso, Traefik verifica la lista de permitidos contra backendRef.namespace. Sin embargo, esta verificación es incorrecta, ya que el límite de seguridad debería ser el namespace del HTTPRoute que declara la referencia.

Comportamiento esperado:

root@kitploit:~
providers:
  kubernetesGateway:
    crossProviderNamespaces:
      - trusted

Solo las rutas cuyo propio namespace sea trusted deberían poder declarar referencias a backends TraefikService entre proveedores.

Comportamiento vulnerable:

root@kitploit:~
backendRefs:
  - group: traefik.io
    kind: TraefikService
    name: api@internal
    namespace: trusted

Si la ruta tiene múltiples referencias a backends y backendRef.namespace está configurado en el namespace permitido trusted, un HTTPRoute en el namespace attacker podría ser aceptado.


Prueba de concepto

Esta PoC crea un clúster local kind desechable con la siguiente configuración:

  • Traefik v3.7.1
  • CRDs de Gateway API
  • providers.kubernetesGateway.crossProviderNamespaces=trusted
  • ReferenceGrant normal de Gateway API desde trusted
  • Ruta de control positivo que debería ser rechazada
  • Ruta mixta con backends con peso que demuestra el bypass

Requisitos

  • Docker
  • kind
  • kubectl
  • curl

Ejecución

root@kitploit:~
cd external-repro-kind
./run-kind-repro.sh

El script elimina automáticamente el clúster al finalizar.

Para conservar el clúster para investigación manual:

root@kitploit:~
KEEP_CLUSTER=1 ./run-kind-repro.sh

Salida esperada

La ruta de control utiliza una única referencia prohibida a api@internal desde el namespace attacker. En este caso, la API no debería quedar expuesta.

root@kitploit:~
control status: 404

La ruta de exploit utiliza dos referencias a backends, lo que obliga a Traefik a construir un servicio con peso. En la versión vulnerable, una solicitud a /api/http/services devuelve el JSON de la API de Traefik.

root@kitploit:~
exploit returned Traefik API JSON
api@internal status: enabled
weighted members:
api@internal              1000000
attacker-whoami-http-80  1

El punto clave es que ambas rutas se crean desde el mismo namespace no confiable attacker. La ruta de control con un solo backend es rechazada, pero la ruta mixta con backends con peso se resuelve correctamente y expone api@internal.


Archivos

  • external-repro-kind/kind-config.yaml - Configuración del clúster local kind que expone Traefik en 127.0.0.1:18080
  • external-repro-kind/traefik-v371.yaml - Despliegue de Traefik vulnerable y GatewayClass
  • external-repro-kind/gateway-exploit.yaml - Namespace, Gateway, ReferenceGrant, ruta de control y ruta de bypass
  • external-repro-kind/run-kind-repro.sh - Script de reproducción local de extremo a extremo

Mitigación

Actualice Traefik a la versión corregida.

  • Para la rama v3.6, v3.6.21 o posterior
  • Para la rama v3.7, v3.7.5 o posterior

Los operadores también deben revisar los recursos ReferenceGrant existentes de Gateway API. Asegúrese de que no permitan el acceso a referencias TraefikService entre proveedores desde namespaces no confiables, a menos que sea una delegación explícitamente intencionada.


Referencias

  • Aviso de seguridad de Traefik GHSA-3g6v-2r68-prfc
  • Lanzamiento de Traefik v3.6.21
  • Lanzamiento de Traefik v3.7.5
Descargar herramienta