Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/moalali/cve-2025-56381
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHubmoalali/cve-2025-56381

CVE-2025-56381

ERPNEXT v15.67.0 foi descoberto por conter múltiplas vulnerabilidades de injeção de SQL no endpoint /api/method/frappe.desk.reportview.get, por meio dos parâmetros order_by e group_by.

Ver Repositório
16há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-56381 — Injeção SQL Autenticada em ERPNext / Frappe via Parâmetros order_by e group_by

📌 Resumo O ERPNext v15.67.0 e o Frappe Framework v15.72.4 contêm múltiplas vulnerabilidades de injeção SQL autenticada no endpoint da API frappe.desk.reportview.get. Entrada maliciosa nos parâmetros order_by ou group_by pode ser usada para injetar e executar instruções SQL arbitrárias. Isso permite que um usuário autenticado (com acesso básico a relatórios) extraia dados sensíveis, realize enumeração de banco de dados e potencialmente manipule ou eleve privilégios dentro do sistema.


🛠 Detalhes Técnicos

  • Tipo de Vulnerabilidade: Injeção SQL (CWE-89)

  • Produto(s) Afetado(s): ERPNext / Frappe

  • Versões Afetadas:

    • Frappe — 15.72.4
    • ERPNext — 15.67.0
  • Endpoint Afetado:

    POST /api/method/frappe.desk.reportview.get
    
  • Parâmetros Vulneráveis:

    • order_by
    • group_by
  • Autenticação Necessária: Sim (sessão válida via cookie sid)

  • Tipo de Ataque: Remoto

  • Severidade: Alta (execução de código SQL, exfiltração de dados, possível escalonamento de privilégios)

  • Pontuação CVSS v3.1 Estimada: 8.6 (Alta) — estimativa; a pontuação final deve ser atribuída pela autoridade oficial de CVE.

  • Status: Não corrigido (até a divulgação)

  • Descoberto por: Mohammed Aloli (GitHub, X, LinkedIn)

  • ID CVE: CVE-2025-56381


🚀 Prova de Conceito (PoC) — Injeção SQL Baseada em Erro

image

✅ Teste apenas em sistemas que você possui ou para os quais tenha permissão explícita para testar. Não use contra sistemas de produção sem consentimento.

❗ Payload (codificado em URL):

%28select%20updatexml%28null%2Cconcat%280x7e%2Cdatabase%28%29%2C0x7e%29%2Cnull%29%29

Exemplo de Corpo JSON (Requisição POST):

{
  "doctype": "User",
  "order_by": "(select updatexml(null,concat(0x7e,database(),0x7e),null))"
}

Isso confirma que a injeção SQL foi executada com sucesso e o nome do banco de dados atual foi vazado.


🧪 Cenário de Exploração

  1. Um atacante faz login em uma instância ERPNext/Frappe com permissões básicas (por exemplo, acesso a relatórios padrão).
  2. Uma requisição POST manipulada é enviada para /api/method/frappe.desk.reportview.get com um payload malicioso em order_by ou group_by.
  3. O backend injeta inadequadamente esse valor diretamente em uma consulta SQL sem sanitização.
  4. O atacante vê um erro de banco de dados revelando a saída injetada — confirmando a injeção.
  5. A mesma técnica pode ser combinada com payloads baseados em tempo, injeção baseada em UNION ou caminhos de escalonamento de privilégios, dependendo da configuração do banco de dados subjacente.

🔐 Recomendações de Mitigação

  1. Use Consultas Parametrizadas: Toda entrada do usuário deve ser vinculada com segurança e nunca concatenada diretamente em consultas SQL.
  2. Validação Estrita de Entrada: Valide order_by e group_by contra uma lista de permissões conhecida de nomes de colunas aceitáveis antes do processamento.
  3. Escape de Identificadores Adequadamente: Use escape específico do DBMS para identificadores de colunas/campos se o uso dinâmico for necessário.
  4. Minimize a Exposição: Restrinja o acesso à API /reportview.get e aos recursos de relatórios com base nos papéis e níveis de confiança dos usuários.
  5. Sanitize Logs: Evite registrar payloads de injeção brutos para prevenir vazamentos em sistemas de auditoria.
  6. Limite de Taxa de Requisições à API: Reduza chamadas de API de alta frequência para diminuir o impacto de tentativas de enumeração cega ou baseada em erro.
  7. Aplique Patches: Os mantenedores do Frappe devem lançar um patch protegendo este endpoint e auditar outros métodos frappe.desk. Os operadores devem atualizar assim que um patch estiver disponível.

🔗 Referências

  • Descobridor: Mohammed Aloli

    • GitHub: MoAlali
    • X (Twitter): @alaliksa_
  • Frappe Framework: https://github.com/frappe/frappe

  • Projeto ERPNext: https://github.com/frappe/erpnext

  • Folha de Dicas de Prevenção de Injeção SQL da OWASP: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

📢 Aviso Legal

Este aviso é publicado apenas para fins educacionais e de pesquisa de segurança defensiva. Explorar esta vulnerabilidade sem autorização é ilegal e antiético. Se você é desenvolvedor ou administrador de ERPNext ou Frappe, aplique as mitigações recomendadas imediatamente e monitore o uso incomum da API.


Baixar ferramenta