Cacti - CVE-2026-39902
Date de publication :
Il s’agit d’une vulnérabilité dans la validation de la chaîne input_string des méthodes d’entrée de données (Data Input) de Cacti.
Cacti est un framework open source de supervision de la performance et de gestion des pannes. Il collecte des données par SNMP ou par scripts, les stocke et les affiche sous forme de graphiques dans une interface web. Il est écrit en PHP.
La fonction cacti_input_string_is_safe() applique une liste de caractères interdits. Cette liste couvre le point-virgule, l’esperluette, la barre verticale, l’espace, l’accent grave, le dollar et les retours à la ligne. Elle omet les guillemets simples et doubles, les opérateurs de redirection, les parenthèses et les accolades. Un administrateur authentifié peut donc enregistrer une chaîne qui passe le contrôle. Le correctif du 1.2.31 étend la liste de caractères bloqués. Il ajoute aussi des fonctions d’exécution par tableau d’arguments (cacti_exec), sans passer par le shell. L’exploitation se fait à distance et sans interaction de l’utilisateur, mais elle exige des privilèges élevés.
Elle permet à l’attaquant d’exécuter des commandes arbitraires sur le serveur Cacti.
Informations
La faille est activement exploitée : Non
Un correctif existe : Oui
Une mesure de contournement existe : Non
Exécution de code arbitraire (à distance)
Exploitation
CWE-78 : Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Détails sur l'exploitation
• Vecteur d'attaque : Réseau
• Complexité de l'attaque : Faible
• Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur à privilège
• Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
• L'exploitation de la faille permet d'obtenir des droits privilégiés : Non
Preuve de concept
Une preuve de concept est disponible en sources ouvertes.
Systèmes ou composants affectés
Cacti versions 1.2.30 et antérieures