Forscher haben Details zu einer inzwischen gepatchten, hochgradig gefährlichen Sicherheitslücke in Apache Cassandra aufgedeckt, die, wenn sie nicht behoben wird, dazu missbraucht werden könnte, Remotecode auf betroffenen Installationen auszuführen.
„Diese Apache-Sicherheitslücke lässt sich leicht ausnutzen und hat das Potenzial, Systeme zu verwüsten. Glücklicherweise tritt sie nur in Nicht-Standardkonfigurationen von Cassandra auf“, so Omer Kaspi, Sicherheitsforscher bei der DevOps-Firma JFrog, in einem am Dienstag veröffentlichten technischen Bericht.
Apache Cassandra ist ein quelloffenes, verteiltes NoSQL-Datenbankmanagementsystem zur Verwaltung sehr großer Mengen strukturierter Daten auf handelsüblichen Servern.
Die Sicherheitslücke mit der Bezeichnung CVE-2021-44521 (CVSS-Score: 8.4) betrifft ein bestimmtes Szenario, in dem die Konfiguration für benutzerdefinierte Funktionen (UDFs) aktiviert ist. Dadurch kann ein Angreifer die Nashorn JavaScript-Engine ausnutzen, die Sandbox umgehen und nicht vertrauenswürdigen Code ausführen.
Konkret wurde festgestellt, dass Cassandra-Implementierungen anfällig für CVE-2021-44521 sind, wenn die Konfigurationsdatei cassandra.yaml die folgenden Definitionen enthält:
enable_user_defined_functions: true
enable_scripted_user_defined_functions: true
enable_user_defined_functions_threads: false
„Wenn die Option [enable_user_defined_functions_threads] auf false gesetzt ist, werden alle aufgerufenen UDF-Funktionen im Daemon-Thread von Cassandra ausgeführt, der über einen Sicherheitsmanager mit einigen Berechtigungen verfügt“, so Kaspi. Dadurch kann der Angreifer den Sicherheitsmanager deaktivieren, aus der Sandbox ausbrechen und beliebige Shell-Befehle auf dem Server ausführen.
Apache Cassandra-Benutzer sollten auf die Versionen 3.0.26, 3.11.12 und 4.0.2 aktualisieren, um eine mögliche Ausnutzung zu verhindern. Diese Versionen beheben den Fehler, indem sie ein neues Flag „allow_extra_insecure_udfs“ hinzufügen, das standardmäßig auf false gesetzt ist und das Ausschalten des Sicherheitsmanagers verhindert.