Un attaquant peut faire exécuter ses propres commandes au serveur, à distance et sans compte
Un attaquant exploitant cette vulnérabilité pourrait, selon les conditions décrites par les sources, exploitable à distance (réseau), sans authentification préalable, affecter la confidentialité des données, l'intégrité du système et la disponibilité du service.
Intitulé officiel Unauthenticated Command Injection
Est-ce que je suis concerné ? Aide BNTIC
| Votre version | Situation | Ce qu'il faut faire |
|---|---|---|
| Cacti 1.2.23 ou plus récent | Non concerné | Rien à faire. Gardez les mises à jour automatiques activées. |
| < 1.2.23 | Concerné | Mettre à jour vers Cacti 1.2.23 ou plus récent, version publiée comme non concernée. |
| Je ne connais pas ma version | À vérifier | La version s'affiche généralement dans le menu « À propos » ou « Aide » du logiciel. |
Produits et versions publiés comme vulnérables
-
Cacti · Cacti NVD
Versions touchées avant 1.2.23
Plus concernées à partir de 1.2.23
La version s'affiche généralement dans le menu « À propos » ou « Aide » du logiciel, ou dans les réglages système d'un téléphone. Les plages viennent de NVD (configurations CPE) et de l'organisme qui a publié la faille ; en cas d'écart, l'avis de l'éditeur fait foi.
Que faire, dans l'ordre Plan BNTIC, construit sur les sources
-
Sauvegarder avant d'intervenir10 min
Une copie récente des données et de la configuration. Si votre hébergeur propose une sauvegarde en un clic, c'est le moment.
-
Mettre à jour vers Cacti 1.2.23 ou plus récent, version publiée comme non concernée15 à 45 min
C'est la correction officielle. Tant qu'elle n'est pas appliquée, les autres mesures ne sont que temporaires.
-
En attendant : réduire l'exposition sur Internet30 min
La faille est exploitable à distance. Limiter l'accès au service depuis l'extérieur (pare-feu, filtrage d'adresses, VPN) réduit fortement le risque.
-
Vérifier que vous n'avez pas déjà été touché30 min
Cette faille est activement exploitée. Contrôler les comptes créés récemment, les connexions inhabituelles et les fichiers modifiés depuis la date de publication.
-
Confirmer que tout fonctionne encore10 min
Après correction : page d'accueil, connexion, et les deux ou trois fonctions dont vous vous servez tous les jours.
Les liens officiels pour corriger ou contourner
Références que NVD ou l'organisme CNA ont étiquetées comme correctif, avis de l'éditeur ou mesure de contournement. Commencez par celles-ci.
- Correctifs et versions corrigées GitHub : github.com https://github.com/Cacti/cacti/commit/7f0e16312dd5ce20f93744ef8b9c3b0f1ece2216
- Correctifs et versions corrigées GitHub : github.com https://github.com/Cacti/cacti/commit/a8d59e8fa5f0054aa9c6981b1cbe30ef0e2a0ec9
- Correctifs et versions corrigées GitHub : github.com https://github.com/Cacti/cacti/commit/b43f13ae7f1e6bfe4e8e56a80a7cd867cf2db52b
Si le service est déjà attaqué
- Action recommandée par la CISA : Apply updates per vendor instructions.
- Isoler ou restreindre l'accès au service concerné.
- Restreindre les flux réseau entrants/sortants liés au composant.
- Renforcer la surveillance des journaux et des accès.
- Désactiver temporairement le composant vulnérable si l'activité le permet.
Priorité aux consignes officielles de l'éditeur et des références. Vérifiez toujours l'avis de sécurité avant toute intervention en production.
Exploitation active confirmée CISA · sources étiquetées
Cette vulnérabilité figure au catalogue des failles activement exploitées de la CISA. Des attaques réelles ont été constatées, pas seulement une possibilité théorique.
- Intitulé CISA
- Cacti Command Injection Vulnerability
- Ajout au catalogue
- 2023-02-16
- Échéance CISA
- 2023-03-09
- Usage par un rançongiciel
- Non constaté à ce jour
Description CISA : Cacti contains a command injection vulnerability that allows an unauthenticated user to execute code.
Action officielle recommandée : Apply updates per vendor instructions.
Liens fournis par la CISA : https://github.com/Cacti/cacti/security/advisories/GHSA-6p93-p743-35gf · https://nvd.nist.gov/vuln/detail/CVE-2022-46169
Décision SSVC de la CISA
- Exploitation
- Exploitation active constatée
- Automatisable
- Non : l'attaque ne peut pas être entièrement automatisée
- Impact technique
- Total : contrôle complet du composant ou de ses informations
Publiée le 2024-05-13 dans l'enregistrement CVE (conteneur « CISA ADP Vulnrichment », SSVC 2.0.3). Qu'est-ce que SSVC ?
1 référence étiquetée « exploit » par les sources : un code d'exploitation est public, ce qui rend l'attaque plus accessible. Corrigez en priorité.
Le détail technique Données factuelles · sources externes
Lire le vecteur CVSS 3.1 critère par critère
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
| Critère | Valeur publiée | Ce que cela veut dire |
|---|---|---|
| AV Vecteur d'attaque | Réseau (à distance, y compris par Internet) | D'où l'attaquant doit agir. |
| AC Complexité de l'attaque | Faible | Conditions hors du contrôle de l'attaquant. |
| PR Privilèges requis | Aucun (pas de compte) | Droits dont l'attaquant a besoin avant d'attaquer. |
| UI Interaction de l'utilisateur | Aucune | Une victime doit-elle cliquer ou ouvrir quelque chose ? |
| S Portée | Inchangée | L'attaque peut-elle toucher d'autres composants que celui qui est vulnérable ? |
| C Confidentialité | Élevé | Accès à des informations protégées. |
| I Intégrité | Élevé | Modification de données ou du système. |
| A Disponibilité | Élevé | Arrêt ou ralentissement du service. |
Libellés traduits de la spécification CVSS 3.1 de FIRST. Ouvrir ce vecteur dans le calculateur officiel · Spécification
Type de faiblesse (CWE)
- CWE-74
- CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
- CWE-863 Incorrect Authorization
Catégorie OWASP Top 10:2025 : A01 Contrôle d'accès défaillant A05 Injection selon la correspondance officielle OWASP entre CWE et catégories
Famille de défaut : les injections. Le logiciel prend ce que vous tapez pour une instruction au lieu de le prendre pour du texte. Comprendre cette famille →
Mécanisme : Injection de commande système : des entrées mal contrôlées peuvent influer sur des commandes exécutées par le serveur.
Description publiée par la source : Cacti is an open source platform which provides a robust and extensible operational monitoring and fault management framework for users. In affected versions a command injection vulnerability allows an unauthenticated user to execute arbitrary code on a server running Cacti, if a specific data source was selected for any monitored device. The vulnerability resides in the `remote_agent.php` file. This file can be accessed without authentication. This function retrieves the IP address of the client via `get_client_addr` and resolves this IP address to the corresponding hostname via `gethostbyaddr`. After this, it is verified that an entry within the `poller` table exists, where the hostname corresponds to the resolved hostname. If such an entry was found, the function returns `true` and the client is authorized. This authorization can be bypassed due to the implementation of the `get_client_addr` function. The function is defined in the file `lib/functions.php` and checks serval `$_SERVER` variables to determine the IP address of the client. The variables beginning with `HTTP_` can be arbitrarily set by an attacker. Since there is a default entry in the `poller` table with the hostname of the server running Cacti, an attacker can bypass the authentication e.g. by providing the header `Forwarded-For: <TARGETIP>`. This way the function `get_client_addr` returns the IP address of the server running Cacti. The following call to `gethostbyaddr` will resolve this IP address to the hostname of the server, which will pass the `poller` hostname check because of the default entry. After the authorization of the `remote_agent.php` file is bypassed, an attacker can trigger different actions. One of these actions is called `polldata`. The called function `poll_for_data` retrieves a few request parameters and loads the corresponding `poller_item` entries from the database. If the `action` of a `poller_item` equals `POLLER_ACTION_SCRIPT_PHP`, the function `proc_open` is used to execute a PHP script. The attacker-controlled parameter `$poller_id` is retrieved via the function `get_nfilter_request_var`, which allows arbitrary strings. This variable is later inserted into the string passed to `proc_open`, which leads to a command injection vulnerability. By e.g. providing the `poller_id=;id` the `id` command is executed. In order to reach the vulnerable call, the attacker must provide a `host_id` and `local_data_id`, where the `action` of the corresponding `poller_item` is set to `POLLER_ACTION_SCRIPT_PHP`. Both of these ids (`host_id` and `local_data_id`) can easily be bruteforced. The only requirement is that a `poller_item` with an `POLLER_ACTION_SCRIPT_PHP` action exists. This is very likely on a productive instance because this action is added by some predefined templates like `Device - Uptime` or `Device - Polling Time`. This command injection vulnerability allows an unauthenticated user to execute arbitrary commands if a `poller_item` with the `action` type `POLLER_ACTION_SCRIPT_PHP` (`2`) is configured. The authorization bypass should be prevented by not allowing an attacker to make `get_client_addr` (file `lib/functions.php`) return an arbitrary IP address. This could be done by not honoring the `HTTP_...` `$_SERVER` variables. If these should be kept for compatibility reasons it should at least be prevented to fake the IP address of the server running Cacti. This vulnerability has been addressed in both the 1.2.x and 1.3.x release branches with `1.2.23` being the first release containing the patch.
Versions
Affectées : < 1.2.23
Corrigées : Cacti 1.2.23 (non concernée selon les sources)
Statut de l'analyse NVD : Analyzed
Chronologie Dates publiées
- Identifiant réservéProgramme CVE
- Publication de la vulnérabilitéGitHub_M
- Ajout au catalogue des failles exploitéesCISA
- Échéance de correction fixée par la CISACISA
- Décision SSVC publiéeCISA
- Dernière mise à jour de la fiche sourceSource
- Calcul du score EPSS affichéFIRST
Références officielles, classées Étiquettes NVD et CNA
Correctifs et versions corrigées 3
Les pages que les sources désignent comme correctif ou notes de version.
- https://github.com/Cacti/cacti/commit/7f0e16312dd5ce20f93744ef8b9c3b0f1ece2216 GitHub CorrectifAvis d'un tiers
- https://github.com/Cacti/cacti/commit/a8d59e8fa5f0054aa9c6981b1cbe30ef0e2a0ec9 GitHub CorrectifAvis d'un tiers
- https://github.com/Cacti/cacti/commit/b43f13ae7f1e6bfe4e8e56a80a7cd867cf2db52b GitHub CorrectifAvis d'un tiers
Avis d'autorités et d'organismes tiers 1
CERT, agences gouvernementales, bases de vulnérabilités, chercheurs.
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2022-46169 CISA Ressource gouvernementale américaineRessource gouvernementale
Codes d'exploitation référencés 1
Les sources signalent un code d'exploitation public. Par prudence, CyberAlert affiche le site qui l'héberge sans lien direct : l'information utile ici est son existence, qui rend la faille plus facile à attaquer.
- github.com GitHub Security Advisory Code d'exploitationMesure de contournementCorrectifAvis d'un tiers
Vérifier par vous-même Bases officielles
- NVD (NIST)Fiche de référence : CVSS, CPE, références étiquetées.
- CVE.orgEnregistrement officiel publié par l'organisme qui a attribué l'identifiant.
- CISA KEVEntrée du catalogue des failles activement exploitées.
- FIRST EPSSScore de probabilité d'exploitation du jour.
- OSV.devPaquets open source concernés et versions corrigées.
- GitHub Advisory DatabaseAvis de sécurité des dépendances logicielles.
D'où viennent ces informations Traçabilité par source
| Base de données | Date d'inscription | Lien direct |
|---|---|---|
| NVD, NIST | Publié dans la base 2022-12-05 | Consulter ↗ |
| CVE.org, programme CVE | Publié par l'organisme CNA 2022-12-05 | Consulter ↗ |
| CISA KEV | Ajout au catalogue 2023-02-16 | Consulter ↗ |
| FIRST EPSS | Score daté du 2026-10-06 | Consulter ↗ |
Les explications en français sont produites par BNTIC à partir de ces sources. Aucune caractéristique technique n'est inventée : quand une information manque, nous écrivons qu'elle manque. Glossaire des termes.