KI-gestützte Cyberangriffe: Wie man intelligente Bedrohungen erkennt, verhindert und abwehrt

Jetzt lesen
Wir verwenden künstliche Intelligenz für Website-Übersetzungen, und obwohl wir uns um Genauigkeit bemühen, kann es sein, dass sie nicht immer 100%ig präzise sind. Wir danken Ihnen für Ihr Verständnis.

Kritische CVE-2025-24293 in Ruby on Rails - Active Storage RCE entdeckt von OPSWAT Unit 515

von OPSWAT
Jetzt teilen

Einführung in Ruby on Rails

Ruby on Rails (Rails) ist ein vollwertiges Model-View-Controller (MVC)-Webframework, das mit Ruby entwickelt wurde. Es wird mit "Batterien" geliefert und bietet Entwicklern alles, was sie brauchen: einen objektrelationalen Mapper (Active Record), eine Anfrage-/Antwort- und Ansichtsschicht (Action Pack/Action View), Hintergrundverarbeitung von Aufträgen, Mailer, WebSocket-Unterstützung, Dateispeicherung und -uploads (Active Storage) und vieles mehr.

Seit seiner ersten Veröffentlichung im Jahr 2004 hat sich Ruby on Rails zu einem der am weitesten verbreiteten Web-Frameworks der Welt entwickelt. Heute werden damit Millionen von Websites und Anwendungen betrieben - darunter so bekannte Plattformen wie GitHub, Shopify, Airbnb, Basecamp und Netflix. Mit seiner starken Betonung von Konvention statt Konfiguration, Entwicklerproduktivität und schnellem Prototyping hat sich Rails zu einem beliebten Framework für Startups und große Unternehmen entwickelt.

Referat 515 Forschung: Aufdeckung kritischer Schwachstellen in Rails

Thai Do, ein Mitglied des OPSWATder Einheit 515, hat während einer unabhängigen Untersuchung zwei Schwachstellen in Ruby on Rails identifiziert, von denen eine zu einer Remotecodeausführung (RCE) führen könnte. Diese Erkenntnisse wurden dem Rails-Sicherheitsteam, mit dem sich OPSWAT während des gesamten Prozesses abstimmte, verantwortungsbewusst mitgeteilt.

Am 13. August 2025 hat das Rails-Team öffentliche Hinweise veröffentlicht und gepatchte Versionen herausgegeben, die beide Sicherheitslücken schließen.

Betroffene Versionen und korrigierte Versionen

Komponente
Betroffene Versionen
Festgelegte Versionen
Aktiver Speicher (CVE-2025-24293)
Rails ≥ 5.2.0 und unterhalb der festen Version
7.1.5.2, 7.2.2.2, 8.0.2.1
Aktive Datensatzprotokollierung (CVE-2025-55193)
Rails < 7.1.5.2, < 7.2.2.2, < 8.0.2.1
7.1.5.2, 7.2.2.2, 8.0.2.1

Identifizierte Sicherheitsprobleme in Rails

CVE-2025-24293 - Aktiver Speicher Unsichere Transformationsmethoden

Diese Schwachstelle betrifft Active Storage in Rails-Versionen ≥ 5.2.0. Sie tritt auf, wenn unsichere Bildtransformationsmethoden an mini_magick übergeben werden, was - in Kombination mit nicht validierten Benutzereingaben - zu Remotecodeausführung (RCE) führen kann. Rails weist darauf hin, dass die Schwachstelle in der Standardkonfiguration nicht ausnutzbar ist. Anwendungen, die den Benutzern Transformationsoptionen zur Verfügung stellen, sind jedoch besonders gefährdet.

CVE-2025-55193 - ANSI Escape Injection in Active Record Logging

Diese Schwachstelle betrifft die Protokollierung von Active Record in allen Rails-Versionen vor 7.1.5.2, 7.2.2.2 und 8.0.2.1. Angreifer können speziell gestaltete Bezeichner, die ANSI-Escape-Sequenzen enthalten, in die Protokolle einschleusen und so möglicherweise die Darstellung von Abfragen in der Terminalausgabe manipulieren, was zu irreführenden oder beschädigten Protokollen führen kann. Obwohl die Schwachstelle nicht direkt Daten preisgibt oder die Ausführung von Code ermöglicht, könnte sie die Überwachung und die Reaktion auf Vorfälle behindern. Das Rails-Sicherheitsteam hat das Problem in denselben gepatchten Versionen behoben.

Technische Analyse von CVE-2025-24293 - Active Storage Remote Code Execution

Überblick über den aktiven Speicher

Active Storage ist das in Rails eingebaute Framework für den Umgang mit Dateiuploads. Es ermöglicht Entwicklern, Dateien an Active Record-Modelle anzuhängen und sie entweder lokal (für Entwicklung/Tests) oder auf Cloud-Diensten wie Amazon S3, Google Cloud Storage oder Microsoft Azure zu speichern. Core Funktionen gehören die Durchführung von Bildtransformationen, die Erstellung von Vorschauen für Nicht-Bilddateien wie PDFs und Videos sowie die Spiegelung von Uploads auf mehrere Dienste zur Redundanz oder Migration.

Wie Bildtransformationen funktionieren

Bildtransformationen ermöglichen es Entwicklern, Anhänge in bestimmten Abmessungen oder Formaten zu liefern. Dies geschieht durch den Aufruf der Methode variant() für einen Bildanhang und die Übergabe von unterstützten Operationen.

Wenn ein Client eine URL-Variante anfordert, führt Active Storage bei Bedarf die Umwandlung aus dem ursprünglichen Blob durch, speichert das Ergebnis im konfigurierten Dienst und gibt eine Weiterleitung zur neu generierten Datei zurück.

Rails unterstützt zwei Prozessoren für Bildtransformationen: Vips und MiniMagick. Welcher Prozessor verwendet wird, kann über config.active_storage.variant_processor konfiguriert werden .

Die spezifischen Operationen, die in Bildtransformationen unterstützt werden, werden durch das image_processing gem bestimmt und hängen von dem zugrunde liegenden Prozessor ab, der für die Rails-Anwendung konfiguriert ist.

Unvollständige Korrektur von CVE-2022-21831

Im März 2022 enthüllte das Rails-Team CVE-2022-21831, eine kritische Code-Injection-Schwachstelle in der Bildtransformationsfunktion von Active Storage. Mit dem Patch wurde eine Standard-Zulassungsliste für Transformationsmethoden eingeführt, um das Problem zu entschärfen.

Bei einer genaueren Überprüfung des Patches und des Rails-Quellcodes entdeckte Thai DoOPSWAT Unit 515) jedoch eine Umgehung, durch die die ursprüngliche Korrektur unvollständig wurde. Diese Umgehung eröffnete Angreifern erneut einen Weg, um Remote Code Execution (RCE) zu erreichen, was zur Offenlegung von CVE-2025-24293 führte.

Grundursache in der image_processing Gem

Wenn eine Transformation angewendet wird, delegiert Rails die Operation an das image_processing gem, das schließlich ImageProcessing::Processor#call in lib/image_processing/processor.rb aufruft

Wenn der konfigurierte Variantenprozessor MiniMagick ist, befindet sich die Schwachstelle in zwei Funktionen in lib/image_processing/mini_magick.rb:

-load_image - akzeptiert nicht validierte Optionen von **loader.

-save_image - akzeptiert nicht überprüfte Optionen von **saver.

Bei load_image werden alle Schlüssel-Wert-Paare in **loader mit Ausnahme von page, geometry und auto_orient in **options beibehalten. Dasselbe gilt für save_image, wo andere Schlüssel als allow_splitting in **options verbleiben. Diese Optionen werden später an Utils.apply_options(magick, **options) übergeben, das sie als MiniMagick-CLI-Flags (z.B. -quality) anwendet.

Obwohl loader und saver in der Standard-Zulassungsliste enthalten sind und daher als sicher gelten, ist dieses Vertrauen fehl am Platze. Mit sorgfältig gestalteten Eingaben kann ein Angreifer diese Optionen ausnutzen, um die Prüfungen zu umgehen und Rails letztendlich dazu zu bringen, beliebige Systembefehle auf dem Host-Rechner auszuführen.

Ausnutzungs-Szenario in Rails-Anwendungen

Wenn eine Anwendung nicht validierte Benutzereingaben direkt in Transformationsmethoden weitergibt, zum Beispiel:

Ein Angreifer könnte bösartige Eingaben machen, um die Loader- oder Saver-Optionen zu manipulieren. Dies würde die Zulassen-Liste umgehen und beliebige Befehle auf dem Server ausführen, was zu Remote Code Execution (RCE) führt.

Proof of Concept: Remote Code Execution

In Rails-Anwendungen mit anfälligen Versionen (vor 8.0.2.1, 7.2.2.2 und 7.1.5.2) demonstrierte OPSWAT Unit 515 erfolgreich eine Exploit-Kette, bei der ungeprüfte Transformationseingaben zur Ausführung von Shell-Befehlen führten.

Dieses PoC-Video demonstriert die Ausnutzbarkeit von CVE-2025-24293 und zeigt die realen Auswirkungen auf Rails-Anwendungen:

Schadensbegrenzung und professionelle Penetrationstests

Unternehmen sollten CVE-2025-24293 und CVE-2025-55193 durch ein Upgrade von Ruby on Rails auf die neuesten Sicherheitsversionen (7.1.5.2, 7.2.2.2 oder 8.0.2.1) beheben. Wenn ein sofortiges Patchen nicht möglich ist, können Sie vorübergehend dafür sorgen, dass Bildtransformationen auf vordefinierte Voreinstellungen beschränkt werden, dass Benutzereingaben validiert und bereinigt werden, dass ImageMagick-Richtlinien gehärtet werden und dass Protokolle keine ANSI-Escape-Sequenzen interpretieren können.

Die Anwendung von Patches beseitigt jedoch nicht alle Risiken in modernen Webumgebungen. Benutzerdefinierte Geschäftslogik, Integrationen von Drittanbietern und komplexe Bereitstellungspipelines schaffen oft Angriffspunkte, die über die Herstellerempfehlungen hinausgehen. Aus diesem Grund sind Penetrationstests für Webanwendungen unerlässlich.

Bei OPSWAT bietet Unit 515 spezialisierte Penetrationstests für Webanwendungen an, die weit über automatische Scanner oder Checklisten-Audits hinausgehen. Unser Team besteht aus erfahrenen, offensiven Sicherheitsexperten, die über jahrelange Erfahrung im Testen großer Anwendungen in verschiedenen Branchen verfügen. Mit einer systematischen, gegnerischen Methodik decken wir Schwachstellen in Authentifizierungsabläufen, Eingabevalidierung, Zugriffskontrolle und Datenverarbeitung auf - Probleme, die selbst in vollständig gepatchten Frameworks wie Ruby on Rails bestehen können.

Jeder Auftrag kombiniert fundiertes technisches Fachwissen mit unternehmensgerechten Berichten, die klare, umsetzbare Erkenntnisse liefern, die es den Entwicklungsteams ermöglichen, Schwachstellen effektiv zu beheben. Durch die Beauftragung von Unit 515 erhalten Unternehmen die Gewissheit, dass ihre kritischen Anwendungen von Experten getestet werden, die nicht nur reale Angriffstechniken simulieren, sondern auch validieren, dass die Korrekturen die Lücken tatsächlich schließen. Dieses Fachwissen stärkt die Abhilfemaßnahmen, reduziert das Restrisiko und erhöht die allgemeine Widerstandsfähigkeit von Anwendungen gegenüber sich entwickelnden Bedrohungen.

Bleiben Sie auf dem Laufenden mit OPSWAT!

Melden Sie sich noch heute an, um die neuesten Unternehmensinformationen zu erhalten, Geschichten, Veranstaltungshinweise und mehr.