Log4Shell – weitere kritische RCE-Schwachstelle in H2-Datenbankkonsole entdeckt

Log4Shell-weitere kritische RCE-Schwachstelle in H2-Datenbankkonsole entdeckt

Log4Shell - weitere kritische RCE-Schwachstelle in H2-Datenbankkonsole entdeckt

Nach der Sicherheitsschwachstelle „Log4Shell“, die im letzten Monat bekannt wurde, ist nun eine Sicherheitslücke in H2-Datenbankkonsolen aufgedeckt worden, die zur Ausführung von Remotecode führen kann. Die entdeckte Schwachstelle hat die Bezeichnung CVE-2021-42392 und ist die erste seit der Veröffentlichung von Log4Shell auf einer anderen Komponente als Log4j, die dieselbe Ursache wie bei der Log4Shell-Schwachstelle namens JNDI Remote-Class-Loading ausnutzt.

H2 ist ein in Java geschriebenes relationales Open-Source-Datenbankmanagementsystem, das in Anwendungen eingebettet oder in einem Client-Server-Modus ausgeführt werden kann. Die H2-Datenbank-Engine wird von insgesamt 6.807 Artefakten verwendet. JNDI, kurz für Java Naming and Directory Interface, bezieht sich auf eine API, die Namens- und Verzeichnisfunktionen für Java-Anwendungen bereitstellt, die diese API in Verbindung mit LDAP verwenden können, um eine bestimmte Ressource zu finden, die sie benötigen.

Ähnlich wie bei der Log4Shell-Schwachstelle, können von Angreifern kontrollierte URLs, die sich in JNDI-Lookups ausbreiten, eine nicht authentifizierte Remote-Code-Ausführung ermöglichen und Angreifern die alleinige Kontrolle über den Betrieb der Systeme einer anderen Person oder Organisation geben. Betroffen von der Schwachstelle ist die H2-Datenbankversionen 1.1.100 bis 2.0.204, diesewurde in der am 5. Januar 2022 ausgelieferten Version 2.0.206 behoben.

Die H2-Datenbank wird von vielen Frameworks von Drittanbietern verwendet, darunter Spring Boot, Play Framework und JHipster. Obwohl diese Schwachstelle nicht so weit verbreitet ist wie Log4Shell, kann sie dennoch dramatische Auswirkungen auf Entwickler und Produktionssysteme haben, wenn sie nicht entsprechend behoben wird.

Unsere Handlungsempfehlungen:

- Prüfen Sie, ob auf Ihren Systemen eine der betroffenen Versionen von der H2-Datenbankversionen (1.1.100 bis 2.0.204) verwendet wird.

- Sie können Ihre lokalen Subnetze beispielsweise mit nmap nach offenen Instanzen der H2-Konsole durchsuchen:

nmap -sV --script http-title --script-args "http-title.url=/" -p80,443,8000-9000 192.168.0.0/8 | grep "H2 Console"

- Installieren Sie die aktuelle Version 2.0.206 der H2-Datenbank, auch wenn Sie die H2-Konsole nicht direkt verwenden. Dies ist wichtig, da es andere Angriffsvektoren gibt, deren Ausnutzbarkeit möglicherweise schwer festzustellen ist.

- Für Anbieter, die derzeit nicht in der Lage sind, H2 zu aktualisieren, existiert die folgende Abhilfe:

-Ähnlich wie bei der Log4Shell-Schwachstelle enthalten neuere Versionen von Java die Abschwächung trustURLCodebase, die es nicht zulässt, dass Remote-Codebases über JNDI geladen werden. Anbieter sollten ihre Java-Version (JRE/JDK) aktualisieren, um diese Abschwächung zu aktivieren. Diese Abschwächung ist standardmäßig in den Java-Versionen 6u211, 7u201, 8u191, 11.0.1 vorhanden.