Server-Side Request Forgery (SSRF)
Erlaubt Angreifern, den Server Anfragen an interne Ressourcen senden zu lassen.
Was ist diese Schwachstelle?
Server-Side Request Forgery (SSRF) ist eine Schwachstelle, die es einem Angreifer ermöglicht, den Webserver dazu zu bringen, HTTP-Anfragen an beliebige, vom Angreifer gewählte Ziele zu senden. Dies ist gefährlich, da der Server häufig Zugang zu internen Netzwerken, Cloud-Metadaten-Diensten und anderen Ressourcen hat, die nicht direkt aus dem Internet erreichbar sind.
Wie nutzt ein Angreifer dies aus?
Angreifer nutzen SSRF über Funktionen aus, die externe Ressourcen abrufen: URL-Vorschau/Einbettung, Bildimport über URL, Webhook-Konfigurationen oder PDF-Generatoren. Sie ersetzen legitime URLs durch interne Adressen (http://127.0.0.1, http://169.254.169.254 für AWS-Metadaten, http://internal-service:8080). DNS-Rebinding-Techniken können URL-Validierungen umgehen, die den Hostnamen nur zum Zeitpunkt der Anfrage prüfen.
Mögliche Konsequenzen
- Zugriff auf AWS/GCP/Azure Cloud-Metadaten zum Stehlen von IAM-Anmeldedaten und Access-Keys
- Scannen interner Netzwerke zur Erkennung laufender Dienste und offener Ports
- Zugriff auf interne APIs und Admin-Panels, die nicht dem Internet ausgesetzt sind
- Lesen lokaler Dateien über file://-Protokoll-Handler
- Ausnutzung interner Dienste, die Anfragen von localhost vertrauen
- Ausbreitung ins interne Netzwerk vom kompromittierten Server aus
Wie schützen Sie sich
- Erlaubte URL-Ziele validieren und per Whitelist einschränken (Domains, IP-Bereiche)
- Anfragen an private IP-Bereiche blockieren (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16)
- Unnötige URL-Protokolle deaktivieren (file://, gopher://, dict://)
- Einen dedizierten HTTP-Client mit restriktiver Konfiguration verwenden
- Netzwerksegmentierung implementieren, damit der Webserver keinen Zugriff auf sensible interne Dienste hat
- DNS-Auflösungs-Validierung verwenden, um DNS-Rebinding-Angriffe zu verhindern
Wie finden Angreifer diese Schwachstelle?
Angreifer identifizieren SSRF, indem sie Funktionen finden, die URLs als Eingabe akzeptieren (Link-Vorschauen, Import-Funktionen, Webhooks). Sie testen mit URLs, die auf vom Angreifer kontrollierte Server zeigen, um zu bestätigen, dass der Server Anfragen stellt, und versuchen dann interne Adressen. Tools wie Collaborator (Burp Suite) oder interactsh erkennen Out-of-Band-Verbindungen. Sie testen auf Blind SSRF über Zeitunterschiede bei der Anfrage erreichbarer vs. nicht erreichbarer interner Hosts.
Beispiel-CVEs aus unserer Datenbank
The Formidable Form Builder plugin for WordPress is vulnerable to Server-Side Request Forgery in versions up to, and including, 5.5.4 due to insufficient URL restrictions on the 'plugin' parameter passed to the the install_addon function. This makes it possible for authenticated users, with administrative privileges, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services.
The W3 Total Cache plugin for WordPress is vulnerable to Server-Side Request Forgery in versions up to, and including, 0.9.4. This is due to a minify function incorrectly restricting path input. This makes it possible for attackers to access restricted resources on private networks by using a vulnerable installation as a limited HTTP GET proxy.
Formidable Forms <= 5.5.4 - Authenticated (Admin+) Server-Side Request Forgery
UpdraftCentral Dashboard 0.8.23 - Server-Side Request Forgery
Spectra <= 2.6.6 - Authenticated (Contributor+) Server-Side Request Forgery in template_importer
... und 233 weitere in unserer Datenbank
Typische Auswirkung
Internes Netzwerk-Scanning, Diebstahl von Cloud-Zugangsdaten, Zugriff auf interne Dienste.
Empfohlene Maßnahme
the affected plugin auf die neueste Version aktualisieren. URL-Validierung implementieren und erlaubte Ziele per Whitelist definieren.
Ist Ihre WordPress-Seite von dieser Art von Schwachstelle betroffen?
Jetzt Ihre Seite scannen