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-22732-demo — Minimal reproduction de CVE-2026-22732 — cabeceras HTTP de Spring Security eliminadas silenciosamente | Kitploit
Herramientas/GitHubGitHub/semgrep/cve-2026-22732-demo
Análisis de VulnerabilidadesExplotaciónSeguridad WebPapers e InvestigaciónAprendizaje y EducaciónArchived
GitHubsemgrep/cve-2026-22732-demo

cve-2026-22732-demo

Minimal reproduction de CVE-2026-22732 — cabeceras HTTP de Spring Security eliminadas silenciosamente

Ver Repositorio
hace 4 mesesAún no revisado

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

Demo de CVE-2026-22732

Reproducción mínima de CVE-2026-22732 — los encabezados de respuesta HTTP de Spring Security se descartan silenciosamente cuando el código del controlador escribe directamente en la respuesta del servlet.

La vulnerabilidad

Spring Security utiliza la escritura de encabezados "perezosa" (lazy) por defecto. Cuando un controlador escribe en response.getOutputStream(), llama a response.flushBuffer(), o establece Content-Length mediante setIntHeader(), la respuesta se confirma antes de que Spring Security pueda inyectar sus encabezados de seguridad (X-Frame-Options, X-Content-Type-Options, Cache-Control, Strict-Transport-Security, etc.).

CVSS 3.1: 9.1 (Crítico) — no se requiere autenticación ni interacción del usuario.

Versiones afectadas

  • Spring Security 5.7.0–5.7.21, 5.8.0–5.8.23, 6.3.0–6.3.14, 6.4.0–6.4.14, 6.5.0–6.5.8, 7.0.0–7.0.3

Estructura del proyecto

root@kitploit:~
src/main/java/com/example/vuln/
├── VulnApplication.java      # Punto de entrada de Spring Boot
├── SecurityConfig.java        # Configura los encabezados de seguridad (X-Frame-Options, CSP, etc.)
└── VulnController.java        # 1 endpoint seguro + 3 vulnerables
src/test/java/com/example/vuln/
└── HeaderVerificationTest.java # Pruebas que FALLAN en versiones vulnerables

Endpoints

Endpoint¿Vulnerable?Disparador
GET /safeNoRetorno normal de Spring MVC
GET /vuln/streamSíEscribe en response.getOutputStream()
GET /vuln/flushSíLlama a response.flushBuffer()
GET /vuln/content-lengthSíEstablece Content-Length mediante setIntHeader()

Ejecución

root@kitploit:~
./mvnw spring-boot:run

Luego verifique con curl:

root@kitploit:~
# Seguro — los encabezados están presentes
curl -i http://localhost:8080/safe

# Vulnerable — los encabezados de seguridad FALTAN
curl -i http://localhost:8080/vuln/stream
curl -i http://localhost:8080/vuln/flush
curl -i http://localhost:8080/vuln/content-length

Ejecución de pruebas

root@kitploit:~
./mvnw test

En una versión vulnerable, las pruebas vuln* fallarán (encabezados faltantes). En una versión parcheada (6.5.9+ / 7.0.4+), todas las pruebas pasan.

Solución

Actualice pom.xml para usar una versión parcheada de Spring Security:

root@kitploit:~
<spring-security.version>6.5.9</spring-security.version>
Descargar herramienta