Spring Framework: Alter Bug, neue Möglichkeiten

Berichten zufolge gibt es Möglichkeiten eine Sicherheitslücke im Spring Framework unter anderem dazu zu nutzen, Anwendungen fernzusteuern. Allerdings ist der Bug alt, wurde bereits gefixt und in Gefahr sind nur die Nutzer alter Versionen der Bibliothek.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 3 Beiträge
Von

Auch wenn man sich an alte Versionen von Funktionsbibliotheken gewöhnt hat, sollte man ab und zu Sicherheitsupdates installieren oder sich zumindest die Empfehlungen der Entwickler durchlesen. Daran erinnern aktuelle Berichte über eine Sicherheitslücke im Java-Entwicklungsframework Spring. Denn obwohl es tatsächlich eine Möglichkeit gab, bestimmte Expression-Language-Ausdrücke abzufangen und anderweitig zu verwenden, so wurde das Problem schon vergangenens Jahr beseitigt und nur Nutzer alter Versionen der Bibliothek müssten den Exploit fürchten.

Der schon 2011 von Forschern in den Versionen 3.0.0 bis 3.0.5, 2.5.0 bis 2.5.6SEC02 und 2.5.0 bis 2.5.7SR01 gefundene Fehler ist als CVE-2011-2730 festgehalten worden. Grundlegend war das Problem damals, dass Expression-Language-Ausdrücke standardmäßig ausgewertet wurden, was unter Umständen dazu führen konnte, dass dies mehr als einmal geschah. Wenn dann in der Anwendung an einer Stelle ungefilterte Parameter in einem zu evaluierenden Tag platziert wurden, konnten Außenstehende so Informationen auslesen (nähere Informationen lassen sich in einem Paper finden).

Als Fix wurde die Unterstützung für Expression Language über ein Attribut ausgestellt und dieses als Standardeinstellung in den folgenden Versionen (3.1 und aufwärts) der Bibliothek übernommen. Ende des letzten Jahres fand dann ein Mitarbeiter von Aspect Security eine neue Möglichkeit, den alten Bug zu nutzen, indem er zum einen Sitzungsvariablen setzte und darüber hinaus mit Code Injection versuchte, Bytecode von einer Seite zu laden und diesen auszuführen (auch hierzu gibt es ein Paper (PDF-Datei). Daraufhin passten die Spring-Entwickler ihre Warnung bezüglich des Bugs an und erhöhten seinen Gefahrenstatus auf "kritisch".

Der neue Nutzen des Bugs war bei einer Untersuchung des Maven Central Repositories auf kritische Bibliotheken entdeckt worden. Maven weiß als automatisiertes Build System nichts über die heruntergeladenen Bibliotheken und da alle Files im Repository verbleiben, um Abhängigkeiten nicht zu zerstören, werden kritische Bibliotheken häufig auch dann noch genutzt, wenn schon ein Fix vorliegt. Da es hier auch keine Benachrichtigungen im Falle neuer Patches gibt, liegt es also am Entwickler, sich zu informieren. (jul)