Akamai-Blog | SpEL Injection (CVE-2022-22963) in der Spring-Cloud-Funktion aktiv ausgenutzt
Übersicht
Am 24. März 2022 hat Pivotal eine kritische serverseitige Schwachstelle bei einer Code Injection (Spring Expression Language Injection) in der Spring-Cloud-Funktion gepatcht, die möglicherweise zu Systemstörungen führen könnte. Spring ist ein beliebtes Open-Source-Java-Framework. Diese und eine weitere entdeckte RCE-Schwachstelle (Spring Core oder „Spring4Shell“) werden durch die KSD-Regelsätze (Kona Site Defender) der Adaptive Security Engine (ASE) von Akamai behoben. Dieser Beitrag konzentriert sich auf Schwachstellen der Spring Cloud. Falls Sie jedoch mehr über die Schwachstelle von Spring Core erfahren möchten, klicken Sie hier.
Die Spring-Cloud-Funktion ist eine Technologie, mit der die Geschäftslogik von einer bestimmten Laufzeit entkoppelt werden kann. Spring Expression Language (SpEL) ist eine leistungsstarke Ausdruckssprache. Sie wird im gesamten Spring-Portfolio verwendet und unterstützt die Abfrage und Bearbeitung von Objektgraphen zur Laufzeit. Früher wurden häufig zahlreiche RCE-Schwachstellen und -Risiken (Common Vulnerabilities and Exposures, CVE) im Zusammenhang mit SpEL Injection gemeldet, da die Anwendung nicht vertrauenswürdige Code-Ausdrücke von Nutzern auf unsichere Weise auswertete (siehe Abbildung 1).
Ein paar Tage später, am 26. März, veröffentlichte der GitHub-Nutzer „cckkuailong“ einen Proof-of-Concept-Exploit, der die erfolgreiche Ausnutzung dieser Schwachstelle aufzeigt (siehe Abbildung 2).
Nicht einmal einen Tag später konnte Akamai bereits Exploit-Versuche im Internet beobachten.
Wie bei Log4jsind viele (aber nicht alle) der aktuellen Versuche Pingback-Versuche. Dabei weisen die Angreifer die Anwendung an, bei erfolgreicher Ausnutzung ein Beacon zu senden.
Wir haben Tausende von IP-Adressen aus der ganzen Welt gesehen, über die Angriff-Payloads gesendet werden. Die meisten erfolgen jedoch über auf Public Clouds gehostete Virtual Private Networks (VPN) und Web-Proxys.
Die Schwachstelle
Der Patch zeigt, dass ein SpEL-Ausdruck über den HTTP-Header „spring.cloud.function.routing-expression“ empfangen werden konnte, um das Anwendungsrouting zu ermöglichen.
Im Code wurde nicht geprüft, ob der zu bewertende Ausdruck über einen Header empfangen werden konnte. Zur Behebung des Problems wurde ein separater headerEvalContext hinzugefügt. Dieser ist ein SimpleEvaluationContext .
Behebung mithilfe des KSD der Adaptive Security Engine
Die Adaptive Security Engine (ASE) von Akamai verfügt über umfassende integrierte Regeln zur Erkennung von Command Injections, da das Ziel dieser Angriffe häufig darin besteht, Befehle auf der Ebene des Betriebssystems auszuführen. ASE konnte diese Zero-Day-Angriffe mit vorhandenen Regeln für Command Injections erkennen:
Auch Kona-Site-Defender-Regelsätze wehren solche Angriffe ab:
3000041 - Serverseitige Template Injection
3000156 - CMD Injection erkannt (hochriskante PHP-Funktionen)
Zusammenfassung
Auch wenn Spring-Cloud-Funktionen nicht so weit verbreitet sind wie die Log4j -Bibliothek, wird die einfache Ausnutzung dieser Schwachstelle viele Cyberkriminelle anziehen. Dies wird voraussichtlich dazu führen, dass viele dieser Kriminellen Cryptomining-, DDoS- und Ransomware-Kampagnen starten und dies als Freifahrtschein nutzen werden, um in den kommenden Jahren in Unternehmen einzudringen. Akamai-Kunden werden jedoch durch die Adaptive Security Engine und Kona-Site-Defender-Regelsätze von Akamai geschützt.
Das Threat Research Team von Akamai überwacht weiterhin die Ausnutzung dieser Schwachstelle und wird entsprechende Aktualisierungen vornehmen, wenn neue Varianten auftreten oder wir beobachten, dass neue Cyberbanden diese Schwachstelle zu ihrem Arsenal hinzufügen.