In der Template-Engine ERB von Ruby wurde eine Schwachstelle entdeckt, die einen zentralen Schutzmechanismus gegen unsichere Deserialisierung aushebelt. Betroffen sind vor allem Rails-Anwendungen, die Marshal-Daten aus potenziell manipulierten Quellen verarbeiten. Unter bestimmten Umständen kann das dazu führen, dass Angreifer eigenen Code aus der Ferne auf dem Server ausführen.
Die Lücke wurde Mitte April 2026 bekannt gemacht, parallel dazu stellte das Ruby-Team eine Fehlerbehebung bereit. Der Kern des Problems liegt darin, dass sich ein eigentlich fest verankerter Sicherheitsmechanismus in ERB umgehen lässt. Angreifer können dies über eine sogenannte Gadget-Chain ausnutzen, um letztlich eine Remote-Code-Ausführung zu erreichen. Entdeckt wurde die Schwachstelle von TristanInSec.
Eine technische Beschreibung inklusive eines funktionierenden Demonstrationscodes ist öffentlich verfügbar und zeigt, dass bereits wenige Zeilen Ruby-Code ausreichen, um den Angriff umzusetzen.
Anfällig sind alle Versionen des ERB-Gems bis einschließlich 6.0.3, wodurch praktisch jede aktuelle Rails-Installation betroffen ist. Allerdings wird eine Anwendung erst dann konkret verwundbar, wenn zwei Voraussetzungen erfüllt sind: Zum einen muss sie Marshal.load mit Daten aufrufen, die von außen beeinflusst werden können. Zum anderen muss zusätzlich ActiveSupport geladen sein – was im Rails-Standard ohnehin der Fall ist.
Typische Stellen, an denen Marshal.load zum Einsatz kommt, sind etwa der Standard-Serializer von Rails.cache, Importfunktionen für Marshal-Dumps oder Session-Cookies älterer Rails-Versionen. Komponenten wie Sidekiq oder Resque sind nicht betroffen, da sie auf JSON setzen. Ein reales Risiko entsteht jedoch erst, wenn Angreifer tatsächlich Zugriff auf solche Datenströme erhalten, etwa über unzureichend geschützte Schnittstellen, offen zugängliche Caches oder kompromittierte Schlüssel.
Gelingt die Ausnutzung, hat der Angreifer weitreichende Möglichkeiten: vom Auslesen sensibler Informationen über das Einschleusen persistenter Hintertüren bis hin zur vollständigen Kontrolle über die Anwendung und möglichen weiteren Angriffen innerhalb des Netzwerks.




