Kritische Sicherheitslücke in Rubys ERB-Template-Engine: Remote-Code-Ausführung möglich.

In der Ruby-Welt sorgt eine kürzlich entdeckte Sicherheitslücke in der Template-Engine ERB für Aufsehen. Das Herzstück dieser Engine, die oft in Rails-Anwendungen zum Einsatz kommt, bietet einen Schutzmechanismus gegen unsichere Deserialisierung. Dieser wurde jedoch durch die Lücke ausgehebelt, was zu einer potenziell schweren Gefahr führt: Angreifer könnten aus der Ferne eigenen Code auf den Servern ausführen. Die Schwachstelle, die im April 2026 entdeckt wurde, wurde parallel dazu vom Ruby-Team mit einer Lösung geschlossen.

Das Kernproblem ist die Möglichkeit, einen eigentlich sicheren Mechanismus in ERB zu manipulieren. Angreifer nutzen dafür eine sogenannte Gadget-Chain, ein raffiniertes Konstrukt aus Codeblöcken, um letztendlich zu einer Remote-Code-Ausführung zu gelangen. Die Entdeckung stammt von TristanInSec, der zudem eine detaillierte technische Beschreibung samt einem funktionierenden Demonstrationscode öffentlich zugänglich machte. Dieser zeigt eindrucksvoll, wie wenige Zeilen Ruby-Code genügen, um den Angriff zu vollziehen. Betroffen sind alle Versionen des ERB-Gems bis einschließlich 6.0.3 – ein Szenario, das praktisch jede aktuelle Rails-Installation erfasst.

Eine konkrete Gefahr besteht jedoch nur, wenn zwei Bedingungen erfüllt sind: Zum einen muss die Anwendung Marshal.load mit Daten aufrufen, die von außen beeinflusst werden können. Zum anderen benötigt sie zusätzlich ActiveSupport, was im Standardfall bei Rails ohnehin der Fall ist. Typische Einsatzstellen für Marshal.load sind beispielsweise der Standard-Serializer von Rails.cache, Importfunktionen für Marshal-Dumps oder Session-Cookies älterer Rails-Versionen. Komponenten wie Sidekiq oder Resque sind hingegen nicht gefährdet, da sie auf JSON setzen.

Reales Risiko entsteht jedoch erst, wenn Angreifer Zugriff auf diese Datenströme erlangen, etwa über unzureichend geschützte Schnittstellen, offen zugängliche Caches oder kompromittierte Schlüssel. Erfolgt die Ausnutzung, eröffnet sich dem Angreifer ein weites Spektrum an Möglichkeiten: vom Auslesen sensibler Informationen über das Einschleusen persistenter Hintertüren bis hin zur vollständigen Kontrolle der Anwendung und weiteren Angriffen im Netzwerk.

Die Entdeckung dieser Lücke unterstreicht erneut die Wichtigkeit von Sicherheitsüberprüfungen und kontinuierlichen Updates in der Softwareentwicklung, besonders in dynamischen Umgebungen wie der Ruby-Community.

Schlagwörter: ERB + Szenario + Marshal.load

Wie bewerten Sie den Schreibstil des Artikels?
1 Star2 Stars3 Stars4 Stars5 Stars
  • 27. April 2026