Exploits connus

Cacti a livré de multiples vulnérabilités graves atteignant l'exécution de code à distance : injection de commandes non authentifiée dans sa gestion de l'agent distant, injection de commandes authentifiée via les entrées de sources de données et d'options SNMP, et chaînes d'injection SQL. Identifier la version et faire correspondre la faille applicable donne l'exécution de code sur le serveur, parfois sans authentification.

2 min de lecturemis à jour le 12 oct. 2026florianamette1 contributeur
Demander à votre assistant (MCP)Modifier sur GitHub

La base de code PHP de Cacti a produit un flux régulier de vulnérabilités de haute sévérité, et plusieurs atteignent l'exécution de code à distance sur le serveur. Les classes : injection de commandes non authentifiée dans la gestion de l'agent distant/poller (accessible là où l'adresse de l'attaquant est de confiance ou où le contrôle d'autorisation est contourné), injection de commandes authentifiée via des entrées qui aboutissent dans des commandes shell (champs de sources de données, options SNMP passées aux binaires net-snmp, et paramètres de graphe/poller), et chaînes d'injection SQL qui extraient des données ou se combinent avec ce qui précède. Pour une cible, identifiez la version exacte et faites-la correspondre à l'avis applicable, car l'endpoint vulnérable et son caractère pré-authentification sont spécifiques à la version, certains des bugs Cacti les plus impactants ne nécessitant aucune connexion.

bash
# fingerprint (see enumeration), then match the version to the advisory
curl -sk https://<target>/cacti/CHANGELOG | head -1
# examples of the surfaces (version-specific):
#   unauth command injection via the remote agent handler (poller/remote_agent.php)
#   authenticated command injection via SNMP options / data input reaching net-snmp
#   SQLi chains in graph/management endpoints
# the injected command runs as the Cacti web/poller user on the server.

Notes d'exploitation#

  • Identifiez la version et faites correspondre l'avis : l'endpoint exploitable et son caractère non authentifié sont spécifiques à la version, et les failles d'injection de commandes non authentifiées sont les plus précieuses (aucun identifiant requis).
  • Les failles authentifiées s'associent à la connexion par défaut/faible ; l'injection d'options SNMP, par exemple, nécessite une configuration de source de données authentifiée.
  • L'exécution se fait en tant qu'utilisateur web/poller de Cacti sur le serveur, qui a accès à la base de données Cacti détenant les identifiants stockés de chaque équipement.
  • Metasploit et des PoC publics couvrent plusieurs chaînes Cacti ; la correspondance de version sélectionne la bonne.

Références#