Authenticated leak of secret environment variables
Beschreibung
Umgebungsvariablen und -geheimnisse werden in eine Twig-Vorlage interpoliert, selbst wenn die Twig-Sandbox aktiviert ist, so dass sie von einem authentifizierten Angreifer durchgesickert werden können. Die Sicherheitsanfälligkeit für Craft [CVE-2026-31857](https://github.com/craftcms/cms/security/advisories/GHSA-fp5j-j7j4-mcxc) wurde nur durch die Anwendung von Sandbox-Twig-Vorlagen gepatcht. Dies schützt Craft CMS theoretisch vor RCE-Angriffen, sofern die Sandbox aktiviert und sicher ist, ohne bekannte Umgehungen. Derselbe Anforderungsparameter "elementId", der das Rendern von Sandbox-Twig-Vorlagen ermöglicht, enthält jedoch auch Funktionen, die referenzierte Umgebungsvariablen interpolieren. Wenn der Parameter eine Zeichenfolge der Form `${ENV VAR} enthält, wird die Zeichenfolge durch die Umgebungsvariable oder das Geheimnis aus einer Geheimdatei mit diesem Namen ersetzt. Danach wird der String als Twig-Vorlage gerendert. Wenn die Sandbox deaktiviert ist, können Twig-Vorlagen bereits RCE erhalten oder über die getenv-Funktion auf Umgebungsvariablen zugreifen. Sandboxen Zweigvorlagen sollten diesen Zugriff nicht haben, aber jetzt dank dieses zusätzlichen umgebungsvariablen Ersatzverhaltens. Der resultierende Wert des Templates spiegelt sich nicht direkt in der Antwort wider. Um den Wert zu exfiltrieren, kann die Sandbox-Twig-Vorlage keine Netzwerkfunktionen verwenden. Es kann jedoch einen blinden fehlerbasierten Ansatz verwenden, der der blinden SQL-Injektion ähnelt. Mit genügend Anfragen kann jede Umgebungsvariable oder jedes Geheimnis schrittweise durchgesickert werden. Dies kann missbraucht werden, um eine Sitzung zu fälschen, Privilegien mit dem "CRAFT SECURITY KEY" zu erhöhen und Anmeldeinformationen für die Datenbank, den SMTP-Server oder andere verbundene APIs oder den Blob-Speicher zu stehlen. ## Auswirkungen Ein authentifizierter angreifer mit der erlaubnis, auf das control panel zuzugreifen, kann eine bösartige twig-vorlage rendern und beliebige umgebungsvariablen und geheimnisse mit einer großen anzahl von anfragen stehlen, auch wenn die twig-sandbox durch "enablettwigsandbox" aktiviert ist.
Quellen & weiterführende Informationen
Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.
Was ist zur Behebung zu tun?
Auf eine behobene Version aktualisieren: 5.10.6, 4.18.2.
Empfohlene Schritte
- Betroffene Systeme identifizieren: Pixel & Tonic Craft CMS.
- Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
- Update/Rollout auf behobene Version vorbereiten und priorisiert einspielen.
- Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.
Übergangsmaßnahmen
- Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
- WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
- Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.
- Administrative Zugänge besonders absichern: MFA, Passwortrotation, Session-Invalidierung.