CVE-2025-9531

Como encontrei uma Injeção Blind de SQL baseada em tempo no i-Educar (com atraso real e PoC).

🇺🇸 Read in English.

Ao me aprofundar no projeto Open-Source i-Educar, descobri uma vulnerabilidade crítica de injeção de SQL (Blind), baseada em tempo, no parâmetro cod_agenda do endpoint agenda.php.
Essa falha permite que invasores executem consultas SQL arbitrárias silenciosamente no banco de dados de back-end, colocando em risco a confidencialidade, a integridade e a disponibilidade dos dados.
Após validar o problema usando um payload que causou atrasos mensuráveis ​​na resposta do servidor, relatei o problema de forma responsável, e o problema foi oficialmente atribuído como CVE-2025-9531.

CVE-2025-9531 é uma vulnerabilidade de injeção de SQL no endpoint /intranet/agenda.php do aplicativo i-Educar.
O parâmetro vulnerável é cod_agenda, que não possui validação de entrada adequada.
Isso possibilita a injeção de consultas SQL personalizadas, incluindo funções PG_SLEEP() que introduzem atrasos de tempo, confirmando a falha por meio de comportamento baseado em tempo.

Endpoint vulnerável /intranet/agenda.php

Parâmetro afetado: cod_agenda

Payload Utilizado (Codificado)

%27%20AND%204698=(SELECT%204698%20FROM%20PG_SLEEP(5))%20AND%20%27xiCO%27=%27xiCO

Payload Utilizado (Decodificado)

' AND 4698=(SELECT 4698 FROM PG_SLEEP(5)) AND 'xiCO'='xiCO

Para reproduzir a vulnerabilidade:

➤ Acesse o endpoint vulnerável e clique em “Novo Compromisso”

➤ Preencha os campos obrigatórios e clique em “Salvar”

➤ O sistema redireciona para uma URL como:

http://localhost:8086/intranet/agenda.php?cod_agenda=2&time=1755283

➤ Agora, modifique o parâmetro `cod_agenda` com o payload:
/intranet/agenda.php?cod_agenda=2' AND 4698=(SELECT 4698 FROM PG_SLEEP(5)) AND 'xiCO'='xiCO

O servidor levará 5 segundos para responder, confirmando que a consulta SQL foi executada com sucesso.


Report

Você pode acessar o relatório completo e ver o passo a passo completo aqui:

Relatório CVE-2025-9531

Essa vulnerabilidade pode ser explorada para:

  • Acessar dados confidenciais armazenados no banco de dados;
  • Enumerar esquemas, tabelas e colunas do banco de dados;
  • Modificar, excluir ou inserir registros arbitrários;
  • Roubar credenciais de usuários e informações pessoais;
  • Executar negação de serviço (DoS) acionando longos atrasos nas consultas;
  • Em alguns casos, escalar para Execução Remota de Código (RCE).

A falha foi reportada eticamente e atribuída como:

Ataques de injeção de SQL continuam sendo uma das ameaças mais críticas a aplicações web, especialmente quando silenciosos e baseados em tempo. Esta descoberta prova como um único parâmetro não validado pode comprometer todo o banco de dados por trás de uma plataforma.

Se você é desenvolvedor ou analista de segurança, fique atento: mesmo endpoints pequenos e aparentemente inofensivos podem esconder falhas perigosas.

Descoberto com💜 por Karina Gante.

LinkedIn GitHub gmail Instagram

Membro Oficial do CVE-Hunters🏹

Related Content