Twig Function Blocklist Bypass
Beschreibung
Craft CMS implementiert eine Blockliste, um zu verhindern, dass potenziell gefährliche PHP-Funktionen über Twig-Pfeilfunktionen aufgerufen werden. Um diesen Angriff erfolgreich ausführen zu können, müssen Sie entweder "allowAdminChanges" bei der Produktion oder ein kompromittiertes Administratorkonto oder ein Konto mit Zugriff auf das Dienstprogramm Systemnachrichten aktiviert haben. Mehrere PHP-Funktionen sind nicht in der Blockliste enthalten, die es bösartigen Akteuren mit den erforderlichen Berechtigungen ermöglichen könnten, verschiedene Arten von Nutzlasten auszuführen, einschließlich RCEs, willkürlichen Dateilesungen, SSRFs und SSTIs. Twig hat dieses Verhalten bereits verworfen, und es wird schließlich ganz aus Twig entfernt werden. https://github.com/twigphp/Twig/blob/946ddeafa3c9f4ce279d1f34051af041db0e16f2/src/Extension/CoreExtension.php#L2096 Dies wurde in Craft 4.17.0 und 5.9.0 behoben, wodurch die Blockliste entfernt und alle nicht-Clousure-Pfeilfunktionen in Twig global über die Konfigurationseinstellung "enableTwigSandbox" deaktiviert werden. Diese Einstellung ist standardmäßig bei allen neuen Craft-Projekten aktiviert. Bestehende Craft-Projekte müssen die Konfiguration aktivieren, um sie zu nutzen. Bestehende Projekte sollten auf die gepatchten Versionen von 5.9.0 und 4.17.0 aktualisiert werden, um das Problem zu beheben und die Konfigurationseinstellung zu aktivieren. ## Referenzen https://github.com/craftcms/cms/pull/18208
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: 4.17.0, 5.9.0.
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.