CVE-2022-46169
Cacti · Supervision, ITSM et gestion de parc
Cacti Command Injection Vulnerability
En bref
Exploitée. Ajoutée au catalogue des failles exploitées de la CISA le 16 février 2023.
Produit touché : Cacti (catégorie Supervision, ITSM et gestion de parc, classement indicatif). Nom au catalogue de la CISA : Cacti Cacti.
Que faire ?
Installez la mise à jour de sécurité de Cacti.
Délai fixé par la CISA aux agences fédérales américaines : 21 jours (échéance le 9 mars 2023). Il ne s’impose pas en France, mais c’est un repère d’urgence.
- Le bulletin précis de la marque figure dans les références de la NVD : CVE-2022-46169 sur le site de la NVD.
Texte original de la consigne (CISA, en anglais)
Apply updates per vendor instructions.
Chronologie
- Faille publiée Date de publication (NVD)
- Exploitation reconnue Ajout au catalogue KEV de la CISA
- Échéance CISA Date limite de correction fixée aux agences fédérales américaines
Les faits, avec leur source
- Exploitation reconnue
- Oui, le 16 février 2023 Date d’ajout au catalogue des failles exploitées. L’exploitation elle-même peut être antérieure. Source : Catalogue KEV, collectée le 29 septembre 2026 à 11:25 UTC
- Rançongiciel
- Aucune utilisation connue à ce jour Cela ne garantit pas qu’elle ne soit pas utilisée : l’information n’est pas publique. Source : Catalogue KEV, collectée le 29 septembre 2026 à 11:25 UTC
- Recherche de compromission
- Non demandée par la CISA Source : Catalogue KEV, collectée le 29 septembre 2026 à 11:25 UTC
- Consigne de la CISA
- Installez la mise à jour de sécurité de Cacti. Traduction du site, d’après le texte original de la CISA. Source : Catalogue KEV, collectée le 29 septembre 2026 à 11:25 UTC
- Échéance CISA
- 9 mars 2023, délai de 21 jours Fixée aux agences fédérales américaines : un repère d’urgence, pas une obligation en France. Source : Catalogue KEV, collectée le 29 septembre 2026 à 11:25 UTC
- Publication de la faille
- 5 décembre 2022 Source : National Vulnerability Database (NVD), collectée le 29 septembre 2026 à 11:29 UTC
- Produit selon la CISA
- Cacti Cacti Rangé par le site dans la catégorie « Supervision, ITSM et gestion de parc » (classement indicatif). Source : Catalogue KEV, collectée le 29 septembre 2026 à 11:25 UTC
- Vecteur CVSS
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Détail technique de la note : mode d’attaque, complexité, impacts. Source : National Vulnerability Database (NVD), collectée le 29 septembre 2026 à 11:29 UTC
Gravité et activité
Modèle EPSS de FIRST. L’exploitation étant déjà avérée, ce chiffre sert surtout à comparer l’activité. Collecté le 29/09/2026.
Description
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.
Description officielle, en anglais, de la NVD, collectée le 29/09/2026. Description CVE® © The MITRE Corporation.
Cacti contains a command injection vulnerability that allows an unauthenticated user to execute code.
Résumé de la CISA (catalogue KEV), en anglais.
Avis du CERT-FR
Aucun avis parmi les dernières publications du CERT-FR suivies par ce site. Cela ne veut pas dire qu’il n’en existe pas.
Informations réutilisées sous Licence Ouverte 2.0 (Etalab), date de dernière mise à jour indiquée à chaque avis. Ce site n'est ni affilié à l'ANSSI ni approuvé par elle.
Sources de cette fiche
- Catalogue KEV de la CISA : exploitation, date d’ajout, consigne, échéance, rançongiciel.
- NVD (NIST) : gravité CVSS, date de publication, description, références de la marque.
- EPSS (FIRST) : probabilité d’exploitation.
- CERT-FR : avis et alertes.
- Marque et catégorie : classement indicatif du site (méthode).