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-72815-poc — PoC local en Go que demuestra CVE-2026-72815, una vulnerabilidad de suplantación de IP mediante X-Forwarded-For en el middleware RealIP de go-chi/chi que elude las ACL basadas en IP, con una comparación corregida en la v5.3.0. | Kitploit
Herramientas/GitHubGitHub/saku0512/cve-2026-72815-poc
Herramientas DefensivasAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónSeguridad WebAutenticaciónPapers e InvestigaciónAprendizaje y Educación

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 →
GitHub
saku0512/cve-2026-72815-poc

CVE-2026-72815-poc

PoC local en Go que demuestra CVE-2026-72815, una vulnerabilidad de suplantación de IP mediante X-Forwarded-For en el middleware RealIP de go-chi/chi que elude las ACL basadas en IP, con una comparación corregida en la v5.3.0.

Ver Repositorio
hace 22h 51mAún no revisado
Compartir

CVE-2026-72815: go-chi/chi middleware.RealIP IP Spoofing PoC

Versión en inglés

Resumen

Este repositorio es una Prueba de Concepto (PoC) local de la vulnerabilidad de IP spoofing CVE-2026-72815 (GHSA-3fxj-6jh8-hvhx) que existe en middleware.RealIP de go-chi/chi.

El middleware RealIP vulnerable confía incondicionalmente en el primer valor (el más a la izquierda) de X-Forwarded-For y sobrescribe http.Request.RemoteAddr con ese valor. En configuraciones donde el cliente puede especificar X-Forwarded-For, un atacante podría falsificar cualquier dirección IP como origen, eludiendo o contaminando ACLs basadas en IP, rate limits, registros de auditoría, etc.

Esta PoC utiliza únicamente httptest y no realiza comunicaciones hacia hosts externos.

Descargo de responsabilidad

Utilícese únicamente con fines educativos y para verificaciones de seguridad autorizadas. No la utilice sin autorización contra entornos de terceros.

Detalles de la vulnerabilidad

  • CVE ID: CVE-2026-72815
  • GitHub Advisory: GHSA-3fxj-6jh8-hvhx
  • Producto: github.com/go-chi/chi/v5
  • API vulnerable: middleware.RealIP
  • Tipo: Authentication Bypass by Spoofing (CWE-290)
  • CVSS v4.0: 6.9 (Moderate)
  • Versiones afectadas según el registro CVE: >= 5.2.1, < 5.3.0
  • Versión corregida: 5.3.0

Causa raíz

middleware.RealIP, cuando existe X-Forwarded-For, obtiene el primer valor separado por comas y lo establece en RemoteAddr.

Conceptualmente, el procesamiento es el siguiente.

root@kitploit:~
if xff := r.Header.Get("X-Forwarded-For"); xff != "" {
    ip, _, _ = strings.Cut(xff, ",")
}

r.RemoteAddr = ip

Normalmente, un reverse proxy añade la IP de origen real al final del X-Forwarded-For existente. Por lo tanto, si un atacante puede especificar previamente un valor como el siguiente, el extremo izquierdo no es confiable.

root@kitploit:~
X-Forwarded-For: 127.0.0.1, 203.0.113.50

El RealIP vulnerable adopta 127.0.0.1 como la IP del cliente.

PoC

Requisitos

  • Go 1.23 o superior (el caso vulnerable de v5.2.1 por sí solo requiere Go 1.20 o superior)
  • Conexión de red necesaria para la descarga inicial del módulo

1. Reproducción de la versión vulnerable v5.2.1

root@kitploit:~
cd vulnerable
GOWORK=off go run .

La PoC asume que el cliente real es 203.0.113.50 y que la IP permitida como administrador es 127.0.0.1.

Una petición normal resulta en HTTP 403, pero en una petición con la siguiente cabecera, RealIP reescribe RemoteAddr a 127.0.0.1, resultando en HTTP 200.

root@kitploit:~
X-Forwarded-For: 127.0.0.1, 203.0.113.50

Salida principal esperada:

root@kitploit:~
=== CVE-2026-72815 vulnerable case ===
[*] go-chi/chi version: v5.2.1
[*] normal request status: 403
[*] spoofed request status: 200
[!] VULNERABLE: attacker-controlled X-Forwarded-For bypassed the IP ACL.

2. Uso de la API segura de v5.3.0

root@kitploit:~
cd fixed
GOWORK=off go run .

En v5.3.0 se han añadido ClientIPFromHeader, ClientIPFromXFF, ClientIPFromXFFTrustedProxies y ClientIPFromRemoteAddr como alternativas a RealIP.

El caso fixed de esta PoC utiliza ClientIPFromXFF() asumiendo una configuración en la que "hay un proxy de confianza justo delante del servidor, y ese proxy añade la IP real del cliente al final del XFF". Incluso enviando la misma cabecera falsificada, se adopta el 203.0.113.50 del extremo derecho, por lo que no se puede superar la ACL.

Salida principal esperada:

root@kitploit:~
=== CVE-2026-72815 safe replacement case ===
[*] go-chi/chi version: v5.3.0
[*] normal request status: 403
[*] spoofed request status: 403
[+] SAFE: the spoofed leftmost X-Forwarded-For value did not bypass the IP ACL.

3. Verificar ambos casos juntos

root@kitploit:~
bash scripts/run-version-matrix.sh

Notas sobre v5.3.0

Incluso en v5.3.0, el comportamiento del antiguo middleware.RealIP en sí mismo se mantiene por compatibilidad hacia atrás. Se ha añadido una anotación de deprecated a RealIP, y se recomienda migrar a las APIs seguras ClientIPFrom*.

Por lo tanto, no basta con simplemente actualizar la dependencia a v5.3.0 y seguir usando middleware.RealIP; es necesario migrar al middleware ClientIPFrom* que se ajuste a la configuración real de red / reverse proxy.

Alcance de la PoC

Este repositorio verifica únicamente lo siguiente.

  1. Que middleware.RealIP refleja el valor XFF del extremo izquierdo controlado por el atacante en RemoteAddr
  2. Que, como resultado, se puede eludir una ACL simple basada en IP
  3. Que al usar ClientIPFromXFF() de v5.3.0 con una configuración de proxy adecuada, se puede rechazar la misma entrada

No se realizan escaneos a redes reales, peticiones a servicios de terceros, DoS, persistencia, etc.

Contramedidas

  • Actualizar go-chi/chi a v5.3.0 o superior
  • Migrar de middleware.RealIP al middleware ClientIPFrom* que se ajuste a la infraestructura real
  • En el lado del reverse proxy también, sobrescribir o eliminar adecuadamente las cabeceras de forwarding enviadas por el cliente
  • No basar la autenticación o autorización crítica únicamente en la dirección IP

Referencias

  • CVE-2026-72815
  • GHSA-3fxj-6jh8-hvhx
  • go-chi/chi PR #967: middleware.ClientIP
  • go-chi/chi v5.3.0
Descargar herramienta