Ruby on Rails hat Sicherheitsupdates für eine kritische Active Storage-Schwachstelle veröffentlicht, die es einem nicht authentifizierten Angreifer ermöglicht, willkürliche Dateien von einem Anwendungsserver durch manipulierte Bild-Uploads zu lesen. Unter CVE-2026-66066 verfolgt und mit 9,5 auf der CVSS-Skala bewertet, kann der Fehler Geheimnisse offenlegen, die für den Rails-Prozess zugänglich sind, und potenziell die Ausführung von Remote-Code oder die seitliche Bewegung in verbundene Systeme ermöglichen.
Das Problem rührt von der Interaktion zwischen Active Storage und libvips her, der Bildverarbeitungsbibliothek, die von Rails-Anwendungen verwendet wird, die load_defaults 7.0 und spätere Standardeinstellungen nutzen. In einer Standard-Rails-Konfiguration, die Bild-Uploads von nicht vertrauenswürdigen Nutzern akzeptiert, können unsichere libvips-Operationen eine bösartige Datei verarbeiten und Daten offenlegen, die niemals über ein hochgeladenes Bild zugänglich sein sollten.
Die wichtigsten Details zu CVE-2026-66066 betreffen die Sensibilität der potenziell exponierten Informationen. Ein Angreifer könnte die Rails-Prozessumgebung, secret_key_base, den Rails-Hauptschlüssel, Datenbankanmeldeinformationen, Cloud-Speicherschlüssel und Drittanbieter-API-Token abrufen. Abhängig von den erlangten Geheimnissen kann der Angriff von der Offenlegung beliebiger Dateien bis zur Sitzungsfälschung, Kompromittierung der Anwendung oder dem Zugriff auf externe Infrastruktur fortschreiten.
CVE-2026-66066-Analyse
Die Schwäche liegt in der Verarbeitung von Active Storage-Varianten, wenn die Anwendung libvips verwendet. Libvips unterstützt zahlreiche Lader, Speicher und andere Operationen zur Handhabung von Dateiformaten. Einige dieser Operationen hängen von Drittanbieter-Bibliotheken ab und sind als „ungefuzzt“ oder nicht vertrauenswürdig klassifiziert, da sie unsicher für die Verarbeitung feindlicher Eingaben sind.
Active Storage blockierte diese Operationen nicht, bevor hochgeladene Anhänge an den Vips-Analyzer und -Transformer übergeben wurden. Infolgedessen kann ein manipuliertes Upload eine unsichere Operation auslösen und den Inhalt beliebiger Dateien abrufen, die vom Rails-Worker lesbar sind.
In den ernsthaftesten Szenarien lesen Angreifer Serverdateien über Bild-Uploads und stellen sensible Werte aus der Anwendungsumgebung wieder her. Der Fehler erfordert keine dedizierte Größenänderungs- oder Miniaturbildfunktion, um exponiert zu werden. Laut der Rails-Warnung ist die Generierung von Bildvarianten keine separate Voraussetzung dafür, dass eine Anwendung anfällig ist.
CVE-2026-66066 betrifft Anwendungen, die beide der folgenden Bedingungen erfüllen:
- Sie verwenden libvips für die Bildverarbeitung von Active Storage, typischerweise durch config.active_storage.variant_processor = :vips.
- Sie erlauben nicht vertrauenswürdigen Nutzern, Bilder hochzuladen.
Die gemeldeten betroffenen Bereiche umfassen Rails 7.0.0 bis 7.2.3.1, Rails 8.0.0 bis 8.0.5 und Rails 8.1.0 bis 8.1.3. Rails 6.0 und 6.1 Anwendungen können ebenfalls exponiert sein, wenn Administratoren Vips als Bildprozessor ausdrücklich konfigurieren, obwohl es nicht die Standardeinstellung für diese Releases war. Anwendungen, die MiniMagick anstelle von Vips verwenden, sind über diesen bestimmten Angriffspfad nicht exponiert.
Sobald das Lesen beliebiger Dateien erreicht ist, können Angreifer folgende Ziele in Angriff nehmen:
- secret_key_base
- config/master.key oder die Umgebungsvariable RAILS_MASTER_KEY
- Geheimnisse entschlüsselt aus config/credentials.yml.enc
- Datenbank-Benutzernamen und -Passwörter
- Amazon S3, Google Cloud Storage oder Azure-Speicherschlüssel
- Tokens für Zahlung, Nachrichtenübermittlung, Überwachung und andere Drittanbieterdienste
Das Erlangen von secret_key_base kann besonders gefährlich sein, da Rails es zum Schutz signierter und verschlüsselter Anwendungsdaten verwendet. Abhängig von der Anwendung und den verfügbaren Gadget-Ketten kann ein gestohlener Wert einem Angreifer ermöglichen, vertrauenswürdige Daten zu fälschen und potenziell zur Codeausführung fortzuschreiten. Cloud- oder API-Anmeldeinformationen können auch eine seitliche Bewegung über den kompromittierten Rails-Server hinaus unterstützen.
Ein drittparteiliches CVE-2026-66066 PoC erschien kurz nach der koordinierten Offenlegung und behauptet, eine beliebige Datei-lesen-zu-RCE-Kette in einer isolierten Docker-Umgebung zu reproduzieren. The Hacker News hatte den Code zum Zeitpunkt ihres aktualisierten Berichts nicht unabhängig verifiziert, während die ursprünglichen Forschungsteams absichtlich detaillierte Exploit-Mechanik zurückgehalten hatten, um Administratoren Zeit zum Patchen zu geben.
Derzeit gibt es keine vom Hersteller veröffentlichten CVE-2026-66066 IOCs oder bestätigte Berichte über Ausnutzung in freier Wildbahn. Das Rails-Sicherheitsteam teilte mit, dass es vor oder nach der Offenlegung keine Kenntnis von Ausnutzungsversuchen hat, aber das Fehlen bekannter Angriffe sollte nicht als Beweis dafür interpretiert werden, dass exponierte Anwendungen sicher sind.
CVE-2026-66066 Abmilderung
Administratoren sollten Active Storage auf eine der folgenden festen Versionen upgraden:
- Rails 7.2.3.2 oder später
- Rails 8.0.5.1 oder später
- Rails 8.1.3.1 oder später
Rails 7.0 und 7.1 haben keinen Sicherheitssupport mehr und werden keine rückportierte Korrektur erhalten. Anwendungen, die diese Zweige ausführen, sollten auf Rails 7.2.3.2 oder eine neuere unterstützte Version migrieren.
Die gepatchte Konfiguration erfordert auch libvips 8.13 oder später. Anwendungen, die das ruby-vips-Gem direkt verwenden, sollten ruby-vips 2.2.1 oder später ausführen. Die Korrektur ruft Vips.block_untrusted(true) während der Initialisierung von Active Storage auf und verhindert, dass unsichere libvips-Operationen feindliche Uploads verarbeiten.
Ein Update schließt den verwundbaren Verarbeitungspfad, aber es macht Geheimnisse, die bereits offengelegt wurden, nicht ungültig. Organisationen sollten jeden Wert, der vom Rails-Anwendungsprozess lesbar ist, als potenziell kompromittiert behandeln und rotieren. Dies umfasst Anwendungssignaturgeheimnisse, Hauptschlüssel, Datenbankanmeldeinformationen, Speicherdienstschlüssel und Drittanbietertoken.
Das Ändern von secret_key_base macht aktive Sitzungen ungültig und erfordert, dass sich Benutzer erneut anmelden. Es beeinflusst auch verschlüsselte Cookies, signierte Cookies, signierte globale IDs und zuvor ausgegebene Active Storage URLs. Administratoren sollten ein offengelegtes Geheimnis nach der Rotation nicht als Fallback beibehalten.
Wenn ein sofortiges Rails-Upgrade nicht möglich ist, können Anwendungen, die libvips 8.13 oder später verwenden, die folgende Umgebungsvariable setzen:
VIPS_BLOCK_UNTRUSTED
Anwendungen, die ruby-vips 2.2.1 oder später verwenden, können alternativ den folgenden Aufruf zu einem Initialisierer hinzufügen:
Vips.block_untrusted(true)
Ältere Versionen von libvips als 8.13 können die unsicheren Operationen nicht blockieren. In diesen Umgebungen gibt es keine sichere, nur konfigurationsbasierte Umgehung. Administratoren müssen libvips aktualisieren oder die Abhängigkeit entfernen, zum Beispiel durch Entfernen von ruby-vips aus der Gemfile, wenn es nicht erforderlich ist.
Die Erkennung von CVE-2026-66066 sollte mit einer Inventarisierung von Anwendungen beginnen, die Active Storage, Vips und nicht vertrauenswürdige Bild-Uploads verwenden. Sicherheitsteams sollten Anwendungs- und Proxy-Logs auf ungewöhnliche Upload-Aktivitäten, unerwartete Bildformate, wiederkehrende Varianten-Verarbeitungsfehler und Anfragen gefolgt von verdächtiger Sitzungs- oder Berechtigungsnutzung überprüfen.
Um die Exponierung von CVE-2026-66066 zu erkennen, sollten Teams die genauen Versionen von Active Storage, libvips und ruby-vips überprüfen, anstatt sich nur auf die Hauptversion von Rails zu verlassen. Anwendungen sollten auch auf Hinweise auf unbefugten Zugang überprüft werden, die Anmeldeinformationen betreffen, die dem Rails-Prozess zugänglich waren.
FAQ
Was ist CVE-2026-66066 und wie funktioniert es?
CVE-2026-66066 ist eine kritische Arbitrary File Read-Schwachstelle in Ruby on Rails Active Storage. Active Storage erlaubte unsicheren libvips-Operationen, durch den Angreifer gesteuerte Uploads zu verarbeiten, was es einem nicht authentifizierten Benutzer ermöglichte, Dateien abzurufen, die vom Rails-Anwendungsprozess lesbar sind. Gestohlene Anwendungsgeheimnisse können dann Remote Code Execution oder eine seitliche Bewegung unterstützen.
Wann wurde CVE-2026-66066 erstmals entdeckt?
Die privaten Entdeckungsdaten wurden nicht öffentlich bekannt gegeben. Das Problem wurde unabhängig von Forschern von Ethiack und GMO Flatt Security gemeldet, und die koordinierte Rails-Sicherheitswarnung wurde am 29. Juli 2026 veröffentlicht.
Welche Auswirkungen hat CVE-2026-66066 auf Systeme?
Die direkte Auswirkung ist die Offenlegung von beliebigen Dateien. Angreifer können Anwendungs-Signaturgeheimnisse, Rails-Anmeldeinformationen, Datenbankpasswörter, Cloud-Speicherschlüssel oder Drittanbieter-Tokens erhalten. Je nach offengelegten Daten und Anwendungs-Konfiguration kann die Kompromittierung zur Sitzungsfälschung, zur Remote Code Execution oder zum Zugang zu verbundenen Diensten eskalieren.
Kann mich CVE-2026-66066 noch im Jahr 2026 betreffen?
Ja. Rails-Anwendungen sind weiterhin gefährdet, wenn sie eine verwundbare Active Storage-Version verwenden, Bilder mit libvips verarbeiten und Uploads von nicht vertrauenswürdigen Nutzern akzeptieren. Rails 7.0 und 7.1 Anwendungen, deren Lebensdauer beendet ist, sind ebenfalls gefährdet und müssen auf einen unterstützten Zweig aktualisiert werden.
Wie kann ich mich vor CVE-2026-66066 schützen?
Upgrade auf Rails 7.2.3.2, 8.0.5.1, 8.1.3.1 oder eine spätere Version; stellen Sie sicher, dass libvips Version 8.13 oder neuer ist; und verwenden Sie ruby-vips 2.2.1 oder später, wo es zutrifft. Rotieren Sie alle Geheimnisse, die dem Anwendungsprozess zugänglich sind, und überprüfen Sie die Upload-Aktivität auf mögliche Ausbeutung.