Cacti · Cacti · CVE-2022-46169
**Nome do software vulnerável e versões afetadas**
Versões do Cacti anteriores à 1.2.23
**Descrição**
Uma vulnerabilidade de injeção de comando no Cacti permite que um usuário não autenticado execute código arbitrário em um servidor que execute o Cacti, caso uma fonte de dados específica tenha sido selecionada para qualquer dispositivo monitorado. A vulnerabilidade reside no arquivo `remote agent.php`, que pode ser acessado sem autenticação. Um invasor pode contornar a autenticação fornecendo um cabeçalho `Forwarded-For: <TARGETIP>`, permitindo que a função `get client addr` retorne o endereço IP do servidor que executa o Cacti. O invasor pode então acionar diferentes ações, incluindo a ação `polldata`, que recupera parâmetros de solicitação e carrega as entradas `poller item` correspondentes do banco de dados. Se a `action` de um `poller item` for igual a `POLLER ACTION SCRIPT PHP`, a função `proc open` é usada para executar um script PHP, levando a uma vulnerabilidade de injeção de comando. O parâmetro `$poller id`, controlado pelo invasor, pode ser usado para executar comandos arbitrários.
**Recomendações**
Para resolver o problema, atualize para a versão 1.2.23 ou posterior.
Como solução temporária, considere restringir o acesso ao arquivo `remote agent.php` e à função `poll for data` para impedir o acesso não autorizado.
Além disso, restrinja o uso da função `proc open` para impedir ataques de injeção de comando.
Evite usar a função `get client addr` para determinar o endereço IP do cliente, pois ela pode ser contornada por um invasor.
Em vez disso, use