> ## Content Index
> Fetch the complete content index at: https://yokai.hakaisecurity.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# [PT-BR] CVE-2026-40083: SQL Injection no Cacti
- URL: https://yokai.hakaisecurity.io/pt-br-cve-2026-40083-sql-injection-no-cacti/
- Published: 2026-08-27T20:01:14.000Z
- Updated: 2026-09-03T14:44:13.000Z
- Author: jpg
- Tags: Research Blog, #wp, pt-br, #pair-CVE-2026-40083

## Resumo

A equipe de pesquisa Yokai, da Hakai Security, identificou uma vulnerabilidade de Injeção de SQL nas versões do **Cacti <= 1.2.30**. A falha permite que um usuário autenticado com permissões de gerenciamento de SNMP execute consultas SQL arbitrárias, possibilitando a leitura ou modificação de todo o conteúdo do banco de dados. A vulnerabilidade reside no arquivo [**managers.php**](https://github.com/Cacti/cacti/blob/develop/managers.php?ref=yokai.hakaisecurity.io), onde a entrada do usuário é inserida diretamente nas consultas SQL sem validação de tipo. A exploração requer uma conta autenticada com privilégios de agente. Uma vez explorada, um invasor pode extrair o conteúdo completo do banco de dados por meio de injeção de SQL, incluindo hashes de credenciais, strings de *community* do SNMP e dados de infraestrutura. Após o relato e alinhamento coordenado por meio do programa GitHub Security Advisory, a equipe do **Cacti** publicou o patch de correção e a falha recebeu o identificador [**CVE-2026-40083**](https://www.cve.org/CVERecord?id=CVE-2026-40083&ref=yokai.hakaisecurity.io). Esta publicação tem como objetivo fornecer aos pesquisadores de segurança e profissionais de defesa uma análise detalhada da vulnerabilidade, incluindo sua causa raiz, impacto potencial e estratégias práticas de mitigação para organizações.

## Impacto

A vulnerabilidade permite que usuários autenticados com permissões de **SNMP Manager** executem consultas arbitrárias no banco de dados. Isso possibilita a leitura de tabelas contendo dados de usuários, configurações, credenciais de dispositivos e *communities* SNMP, além da extração de hashes *bcrypt* e *tokens* de API, o que pode resultar no comprometimento de contas. Adicionalmente, a falha possibilita a execução de comandos de *sleep*, podendo causar negação de serviço por esgotamento das conexões simultâneas com o banco de dados. Segundo dados da [**TheirStack**](https://theirstack.com/en/technology/cacti?ref=yokai.hakaisecurity.io), o **Cacti** é utilizado por mais de **2.000 empresas** em todo o mundo, ampliando o potencial impacto dessa vulnerabilidade em ambientes corporativos.

## Detalhes Técnicos

A vulnerabilidade explora a falta de validação rigorosa de tipo de dados e a completa ausência de consultas parametrizadas na funcionalidade de gerenciamento SNMP. Enquanto a maior parte da aplicação utiliza abstrações corretas, a lógica encarregada do processamento interpola diretamente os valores extraídos de um *array* para compor um código SQL dinâmico. A falha está localizada dentro do repositório no arquivo [**managers.php**](https://github.com/Cacti/cacti/blob/develop/managers.php?ref=yokai.hakaisecurity.io), especificamente entre as **linhas 756 e 766** disponíveis na visualização histórica pelo link [https://github.com/Cacti/cacti/blob/release/1.2.30/managers.php#L756-L766](https://github.com/Cacti/cacti/blob/release/1.2.30/managers.php?ref=yokai.hakaisecurity.io#L756-L766).

```php
$selected_items = cacti_unserialize(stripslashes(gnrv('selected_graphs_array')));

if (cacti_sizeof($selected_items)) {

    db_execute('DELETE FROM snmpagent_managers WHERE id IN (' . implode(',', $selected_items) . ')');

}
```

O campo manipulado na variável **`selected_items`** é proveniente da desserialização de dados controlados pelo usuário enviados no corpo da requisição. Embora a aplicação utilize a função **`cacti_unserialize`** para mitigar vulnerabilidades relacionadas à **Injeção de Objetos PHP**, impedindo a desserialização de classes arbitrárias, **não há validações adequadas para restringir a manipulação de tipos primitivos**. Como consequência, um **array** contendo valores controlados pelo usuário pode alcançar a etapa de concatenação da consulta SQL, **permitindo a execução de consultas SQL arbitrárias.**

## Endpoints Afetados

O endpoint afetado corresponde à funcionalidade administrativa **"/cacti/managers.php"**, acessível por meio de requisições HTTP POST. Foi observado que o parâmetro **"selected\_graphs\_array"** processava dados controlados pelo usuário de forma insegura, tornando-se o ponto da injeção da vulnerabilidade. O payload foi inserido nesse campo utilizando uma estrutura serializada especialmente construída para manipular a consulta SQL executada pela aplicação.

Para validação da vulnerabilidade, foi utilizado um payload baseado em **Time-Based Blind SQL Injection**, que emprega funções de atraso do banco de dados, como **SLEEP**(), para provocar uma resposta com tempo de execução elevado quando a instrução SQL é interpretada com sucesso. A ocorrência desse atraso confirmou que o conteúdo fornecido em **"selected\_graphs\_array"** era incorporado à consulta SQL sem a devida sanitização ou parametrização, permitindo a execução de instruções SQL arbitrárias. A requisição HTTP abaixo demonstra a prova de conceito utilizada durante os testes, enviada por meio da ferramenta **Burp Suite**.

![](https://yokai.hakaisecurity.io/content/images/hakaisecurity-io/wp-content/uploads/2026/07/image-2.png)

Após o envio da requisição, a aplicação processa o conteúdo injetado e encaminha a consulta ao banco de dados. Como a entrada controlada pelo usuário é incorporada à instrução SQL sem a devida validação, a expressão de atraso é executada pelo banco de dados, provocando um aumento perceptível no tempo de resposta da aplicação. Esse comportamento confirma a exploração da vulnerabilidade e demonstra que a consulta pode ser manipulada por meio do parâmetro vulnerável.

## Prova de Conceito

Com base na vulnerabilidade, foi desenvolvido um *script* em *Python* para realizar a exploração da falha de forma automatizada: [https://github.com/hakaioffsec/CVE-2026-40083](https://github.com/hakaioffsec/CVE-2026-40083?ref=yokai.hakaisecurity.io).

## Correção

A equipe responsável pelo **Cacti** corrigiu essa vulnerabilidade na versão [**1.2.31**](https://github.com/Cacti/cacti/releases?ref=yokai.hakaisecurity.io#release-release/1.2.31) por meio de alterações no processamento dos dados fornecidos pelo usuário. A correção incluiu **o fortalecimento das validações de entrada, a revisão da lógica de desserialização e a sanitização dos *arrays* utilizados durante o processamento da requisição**, eliminando o cenário que permitia a manipulação da consulta SQL por meio da entrada de usuários. Abaixo é apresentado o *diff* oficial contendo as principais alterações implementadas pelos desenvolvedores na camada responsável pelo gerenciamento da funcionalidade afetada.

```diff
- $selected_items = cacti_unserialize(stripslashes(gnrv('selected_graphs_array')));
- if (cacti_sizeof($selected_items)) {
-     db_execute('DELETE FROM snmpagent_managers WHERE id IN (' . implode(',', $selected_items) . ')');
- }
+ $selected_items = sanitize_unserialize_selected_items(gnrv('selected_graphs_array'));
+ if (cacti_sizeof($selected_items)) {
+     $sanitized_items = array_map('intval', $selected_items);
+     db_execute('DELETE FROM snmpagent_managers WHERE id IN (' . implode(',', $sanitized_items) . ')');
+ }
```

A correção implementa uma abordagem em camadas para mitigar a vulnerabilidade. Inicialmente, os dados desserializados passam pela rotina **`sanitize_unserialize_selected_items()`**, responsável por validar a estrutura esperada da entrada. Em seguida, todos os elementos do *array* são convertidos explicitamente para o tipo inteiro por meio da função **`array_map('intval', ...)`**, garantindo que apenas valores numéricos sejam utilizados na construção da consulta SQL. Dessa forma, **qualquer tentativa de inserir expressões SQL ou caracteres maliciosos é automaticamente convertida para um valor inteiro**, impedindo que o conteúdo controlado pelo usuário altere a estrutura da instrução SQL e eliminando o vetor de exploração da vulnerabilidade.

## Recomendações

É recomendado **atualizar o Cacti para a versão 1.2.31 ou superior**, que corrige a vulnerabilidade por meio da validação adequada dos dados desserializados e da conversão explícita dos identificadores para valores inteiros antes da construção da consulta SQL. Além disso, recomenda-se **restringir o acesso às funcionalidades administrativas da aplicação apenas a usuários autorizados**, aplicando o princípio do menor privilégio e reduzindo a superfície de ataque da plataforma.

## Conclusão

A exploração dessa vulnerabilidade permite que um atacante autenticado com privilégios de agente no **Cacti** abuse de uma inconsistência no processamento de *arrays* para realizar a injeção de comandos SQL, possibilitando a extração completa do conteúdo do banco de dados da aplicação, incluindo hashes de credenciais, *community strings* **SNMP** e informações da infraestrutura monitorada.

## Vamos praticar!

O [**Hacking Club**](https://app.hackingclub.com/?ref=yokai.hakaisecurity.io) é uma plataforma de treinamento voltada ao desenvolvimento prático de profissionais de cibersegurança. O desafio [**Cactus**](https://app.hackingclub.com/training/challenges/134?ref=yokai.hakaisecurity.io) reproduz, em um ambiente controlado, um serviço vulnerável à falha abordada neste artigo, permitindo que pesquisadores e profissionais consolidem os conceitos apresentados por meio da exploração da vulnerabilidade em um laboratório seguro.

## Referências

GitHub Security Advisory Oficial: [**GHSA-j9jv-6xjq-9hhj**](https://github.com/Cacti/cacti/security/advisories/GHSA-j9jv-6xjq-9hhj?ref=yokai.hakaisecurity.io)

Commit Vulnerável Legado: [**Linhas 756-766**](https://github.com/Cacti/cacti/blob/release/1.2.30/managers.php?ref=yokai.hakaisecurity.io#L756-L766)

Identificação do Reporte Central: [**CVE-2026-40083**](https://www.cve.org/CVERecord?id=CVE-2026-40083&ref=yokai.hakaisecurity.io)

PoC Desenvolvida pela Hakai Security: [**CVE-2026-40083**](https://github.com/hakaioffsec/CVE-2026-40083?ref=yokai.hakaisecurity.io)