Wie wir unseren Kunden helfen, sich gegen die Atlassian Confluence OGNL Injection-Schwachstelle zu schützen
Was Sie unbedingt wissen sollten:
- Die jüngste Atlassian Confluence Schwachstelle (CVE-2021-26084) wird Berichten zufolge weitläufig ausgenutzt.
- Wir haben eine neue WAF-Regel veröffentlicht, die die Ausnutzung dieser Schwachstelle blockiert. Wir empfehlen unseren Next-Gen WAF Kunden (ehemals Signal Sciences), diese Regel umgehend zu aktivieren (siehe unten)
- Es gibt einen Patch von Atlassian, der sofort auf alle Confluence Server oder Datacenter-Instanzen angewendet werden sollte.
Unser Security Research Team hat eine Regel entwickelt und implementiert, die Kunden unserer Next-Gen WAF vor der kürzlich bekannt gegebenen CVE-2021-26084 schützt. Dabei handelt es sich um eine Atlassian Confluence OGNL Injection-Schwachstelle, die die Ausführung von beliebigem Code auf einem Confluence Server oder einer Datacenter-Instanz ermöglicht. Diese Schwachstelle wird derzeit im großen Stil ausgenutzt, und es ist davon auszugehen, dass sich diese Entwicklung noch weiter beschleunigen wird. Wenn Sie also eigene Confluence Instanzen verwalten, lohnt es sich, sich mit dem Thema genauer zu befassen.
Was sind die Auswirkungen?
Nur selbstverwaltete Confluence Instanzen sind von dieser Schwachstelle betroffen, in der Cloud gehostete („Confluence Cloud“) Instanzen hingegen nicht. Ein Nutzer ohne Admin-Rechte oder ein nicht authentifizierter Nutzer kann vollen Zugriff auf selbstverwaltete Confluence Instanzen erhalten, wenn die Funktion „Allow people to sign up to create their account“ (Anmeldung zum Erstellen eines Kontos zulassen) aktiviert ist.
Angreifer benötigen keinen lokalen Zugriff, um diese Sicherheitslücke auszunutzen, was sie zu einer attraktiven Option für Angriffskampagnen macht. Indem sie sich Remote-Zugriff auf die Confluence Instanz verschaffen, können Angreifer auf dem System tun, was sie wollen – zum Beispiel auf andere Produktionsserver migrieren, die Kundendaten verarbeiten, einen Kryptominer installieren oder eine Backdoor einbauen, um zukünftigen Zugriff zu garantieren.
Bei diesem Problem handelt es sich um eine Object Graph Navigation Language (OGNL) Injection-Schwachstelle. ONGL ist eine Expression Language zum Lesen und Schreiben von Eigenschaften von Java Objekten, mit der sich ausführbarer Code erstellen oder ändern lässt. Dies ist auch der Grund, warum ONGL Injection-Angriffe so berüchtigt sind – besonders in Zusammenhang mit Apache Struts.
Die ursprüngliche Absicht von OGNL war es, eine Funktion anzubieten, die eine bedingte Formatierung von Text auf Grundlage einer Vorlage ermöglicht. Was damit aber tatsächlich erreicht wurde, war die Möglichkeit, beliebigen Code auszuführen, da versehentlich ein Teil der Java Laufzeitumgebung zum Laden von ausführbarem Code freigegeben wurde.
Ziel eines Injektionsangriffs ist es, Code in erwartete Nutzereingaben einzuschleusen, der von der Anwendung kontextunabhängig ausgewertet und ausgeführt wird. In diesem Fall wird die Schwachstelle durch einen Template-Injection-Angriff in Velocity (eine Java Template Engine von der Apache Foundation) ausgelöst. Angreifer können in ihre Eingaben Command-Line-Befehle (Bash) einfügen, die dann auf dem Betriebssystem ausgeführt werden.
Die Exploits beinhalten eine geschickte Umgehung der isSafeExpression
, die prüft, ob innerhalb eines OGNL Ausdrucks schädlicher Code aufgerufen wird. Durch Verwendung von Unicode-Zeichen können Angreifer Eingaben erstellen, die die Validierung umgehen. Anstatt einer Eingabe wie #{3*33}
, kann ein Angreifer die Eingabe als Zeichenfolge \u0027%2b#{3*33}%2b\u0027
gestalten, um als Ergebnis 99 zu erhalten. Noch mehr erfahren Sie in diesem Writeup zum Exploit.
Nächste Schritte
Dieses Problem sollte unbedingt sofort in Angriff genommen werden. Der Proof-of-Concept-Exploit-Code ist seit dem 31. August 2021 öffentlich verfügbar, und unser Security Research Team hat aktive Exploits beobachtet.
Wir empfehlen dringend, unsere Next-Gen WAF Ihren selbstverwalteten Confluence Instanzen vorzuschalten und diese Regel so bald wie möglich zu aktivieren und so zu konfigurieren, dass Anfragen blockiert werden, sobald das entsprechende Signal erkannt wird. Gehen Sie dazu einfach auf Site Rules → Templated Rules → und wählen Sie unter „Category“ die Option „CVE“ aus. Anschließend erscheint die Regel in der für Kunden freigegebenen CVE Regelliste.
Außerdem empfehlen wir Ihnen, sämtliche Anweisungen von Atlassian zu befolgen, um betroffene Confluence Instanzen zu patchen. Die betreffende Schwachstelle wird weltweit aktiv ausgenutzt und kann schwerwiegende Folgen haben, wenn Angreifer sie nutzen, um Code auf anfälligen Servern aus der Ferne auszuführen.
Weitere Lektüre
Wenn Sie sich eingehender mit den technischen Details dieser Angriffskette befassen möchten, lesen Sie diesen Beitrag von CSO Online. Zur Aktivierung von Templated Rules, lesen Sie bitte unsere Dokumentation.