CVE-2022-46169 — Cacti Command Injection Vulnerability
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.
Descrição oficial em inglês (tradução ainda não revisada).
Quem explora e qual a prioridade
Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.
Como a nota foi calculada
- Exploração confirmada (CISA KEV)+35
- Exploit/PoC público (nuclei, metasploit, exploitdb, github)+20
- EPSS 99.8% (probabilidade de exploração em 30 dias)+15
- Severidade técnica (critical)+10
A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).
Triagem
Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.
Avaliação SSVC da CISA CISA
Três pontos de decisão que a CISA publica para as CVEs que avalia (SSVC 2.0.3). Uma decisão de priorização, não uma nota de severidade.
Remediação
Correções e mitigações documentadas pelas fontes — com link para o aviso original.
- Patch documentado — github.com (NIST National Vulnerability Database)
- Patch documentado — github.com (NIST National Vulnerability Database)
- Patch documentado — github.com (NIST National Vulnerability Database)
- Patch documentado — github.com (NIST National Vulnerability Database)
Ação exigida pela CISA CISA
Apply updates per vendor instructions.
Prazo federal (EUA): 09/03/2023 — vencido há 1316 dia(s)
Primeiras 24 horas
Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.
- Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Cacti Cacti).
- Trate como remediação emergencial: a CVE está na CISA KEV (exploração confirmada).
- O ataque é pela rede e não exige privilégios: restrinja a exposição (ACLs, VPN, WAF) até corrigir.
- Aplique a versão corrigida ou o patch documentado na seção Remediação.
- EPSS acima de 100% das CVEs pontuadas: priorize na fila de correção.
- Procure nos logs disponíveis sinais de tentativa de exploração compatíveis com a classe da falha (injeção), erros e anomalias de autenticação.
Escopo afetado
Fabricante, produto e versões como as fontes os descrevem.
Características do ataque
O vetor CVSS decodificado. Descreve o ataque, não a sua exposição a ele.
Todas as pontuações coletadas
As fontes pontuam de forma independente e podem discordar; cada linha diz quem pontuou e em qual versão.
| Nota | Versão | Severidade | Explor. | Impacto | Pontuado por |
|---|---|---|---|---|---|
| 9.8 | CVSS 3.1 | Crítica | 3.9 | 5.9 | security-advisories@github.com via NIST National Vulnerability Database |
| 9.8 | CVSS 3.1 | Crítica | 3.9 | 5.9 | nvd@nist.gov via NIST National Vulnerability Database |
| 9.8 | CVSS 3.1 | Crítica | — | — | GitHub_M via CVE Program (cve.org) e CISA ADP |
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (nota exibida no topo: nvd@nist.gov) Fraqueza MITRE
Classe de fraqueza segundo o catálogo CWE do MITRE.
Detalhes da CISA KEV CISA
A CISA inclui uma CVE no catálogo quando há evidência de exploração contra alvos reais.
A CISA registra uso por ransomware apenas em campanhas confirmadas: "Desconhecido" significa não registrado, não descartado. O prazo vincula agências federais dos EUA; para os demais, é uma referência.
Exploits, PoCs e templates de detecção públicos
Código público que demonstra ou testa a falha aumenta a chance de exploração em massa — e os templates Nuclei ajudam a encontrar ativos vulneráveis no seu ambiente.
- Cacti 1.2.22 unauthenticated command injection excellent 05/12/2022
- CVE-2022-46169 Cacti remote_agent.php Unauthenticated Command Injection. ★ 47 08/12/2022
- This is a exploit of CVE-2022-46169 to cacti 1.2.22. This exploit allows through an RCE to obtain a reverse shell on your computer. ★ 42 01/05/2023
- PoC for CVE-2022-46169 - Unauthenticated RCE on Cacti <= 1.2.22 ★ 29 05/01/2023
- This is poc of CVE-2022-46169 authentication bypass and remote code execution ★ 15 11/03/2023
- Exploit to CVE-2022-46169 vulnerability ★ 9 13/01/2023
- Cacti Unauthenticated Command Injection ★ 3 02/01/2023
- RCE POC for CVE-2022-46169 ★ 3 16/01/2023
- Fixed exploit for CVE-2022-46169 (originally from https://www.exploit-db.com/exploits/51166) ★ 3 13/04/2023
- Exploit for cacti version 1.2.22 ★ 3 01/05/2023
- Cacti: Unauthenticated Remote Code Execution Exploit in Ruby ★ 2 15/01/2023
Atenção: PoCs públicos às vezes são malware disfarçado. Use apenas para testes autorizados, em ambiente isolado. Este portal não hospeda código de exploração — só aponta as fontes.
EPSS ao longo do tempo FIRST
12/10/2026 → 14/10/2026 · 3 leitura(s) · máximo 99.83%
Detecção
Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.
- Priorize telemetria de borda para o componente exposto na rede (proxy, WAF, IDS/IPS).
- Procure parâmetros com metacaracteres de comando/consulta e processos filhos inesperados do serviço.
- Faça busca retroativa nos logs desde antes de 16/02/2023 (inclusão na KEV): a exploração pode ter começado antes.
Linha do tempo
O que aconteceu com esta CVE, do mais recente ao mais antigo.
- 2026
- Produtos afetados adicionados · cacti/cacti
- Avaliação SSVC atualizada
- Ficha publicada
- Correção documentada
- Produtos afetados adicionados · cacti/cacti
- CVSS alterado · 9.8
- Status na fonte alterado · → Analyzed
- Adicionada à CISA KEV (detectado)
- Registro criado nesta base
- 2023
- Incluída no catálogo CISA KEV
- 2022
- CVE publicada
Atividade das fontes
Leituras que se repetem foram contadas em vez de listadas.
- 1× Referências adicionadas · 13/10/2026 – 13/10/2026
- 1× Descrição oficial atualizada · 13/10/2026 – 13/10/2026
Referências
5 no registro
- github.com/Cacti/cacti/commit/b43f13ae7f1e6bfe4e8e56a80a7cd867cf2db52b
- github.com/Cacti/cacti/commit/7f0e16312dd5ce20f93744ef8b9c3b0f1ece2216
- github.com/Cacti/cacti/security/advisories/GHSA-6p93-p743-35gf
- github.com/Cacti/cacti/commit/a8d59e8fa5f0054aa9c6981b1cbe30ef0e2a0ec9
- www.cisa.gov/known-exploited-vulnerabilities-catalog
Em outras páginas do site
CVEs relacionadas (mesmos produtos)
- Média CVE-2026-40941 Cacti: Package Import Signature Validation Bypass Allows Self-Signed Packages 25/06/2026
- Média CVE-2026-40084 Cacti: Arbitrary File Read via Path Traversal in Report `format_file` Parameter 25/06/2026
- Média CVE-2026-40082 Cacti: Session Fixation via missing session_regenerate_id() after login 25/06/2026
- Média CVE-2026-40080 Cacti: Open Redirect via HTTP_REFERER substring check in auth_login_redirect 25/06/2026
- Alta CVE-2026-40083 Cacti: SQL Injection in managers.php 25/06/2026
- Alta CVE-2026-39951 Cacti: Stored SQL Injection via graph_name_regexp in Reports feature 24/06/2026
Não consta em nenhuma fonte consultada
Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.
- Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
- Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
- Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.
Respondido a partir deste registro
Texto montado apenas com os campos acima — sem afirmações adicionais.
O que os defensores devem saber primeiro?
CVE-2022-46169 é "Cacti Command Injection Vulnerability", de severidade Crítica. Afeta Cacti (Cacti); as versões estão na tabela de escopo. Está na CISA KEV: há evidência de exploração real. CVSS 9.8 descreve a severidade técnica. EPSS 99.83% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.
Comentários
Discussão técnica moderada. Leia as regras da comunidade.
Nenhum comentário ainda.
Entre ou crie uma conta para comentar e sugerir correções.