Server-Side Request Forgery (SSRF) in Craft CMS with Asset Uploads Mutations
Beschreibung
## Erforderliche Berechtigungen Für die Exploitation müssen einige Berechtigungen im verwendeten GraphQL-Schema aktiviert werden: * "Assets im Volume bearbeiten" * "Assets im Volume erstellen" ## Details Die Implementierung beschränkt das URL-Schema nicht. Während die Anwendung zum "Uploaden von Assets" gedacht ist, gibt es keine Whitelist, die "http" oder "https" erzwingt. Dies ermöglicht es Angreifern, das Gopher-Protokoll zu verwenden, um rohe TCP-Befehle zu verpacken. **Auswirkungen:** In Kombination mit dem DWORD-Bypass kann ein Angreifer interne Dienste treffen, ohne "127.0.0.1" String-Matching-Filter auszulösen. **Beispiel Nutzlast:** gopher://2130706433:6379/ FLUSHALL (Ziele lokale Redis über DWORD). **Abhilfestrategie** Um eine mathematische IP-Verschleierung zu verhindern, muss die Anwendung den Hostnamen vor der Validierung normalisieren. ## Referenzen https://github.com/craftcms/cms/commit/d20aecfaa0eae076c4154be3b17e1f9fa05ce46f
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.9.15, 4.17.9.
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.