Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Koha Community (CVE-2026-71288)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-89 Neutralización incorrecta de elementos especiales usados en un comando SQL (Inyección SQL)
Fecha de publicación:
05/08/2026
Última modificación:
23/10/2026

Descripción

El generador de informes guiado de Koha (reports/guided_reports.pl) lee el parámetro CGI ’order_by’ y, para cada valor, un parámetro llamado dinámicamente ’{order}_ovalue’, y concatena ambos directamente en una cláusula SQL ORDER BY sin lista de permitidos ni validación: ’my @order_by = $input -> multi_param(’order_by’); foreach my $order (@order_by) { my $value = $input -> param($order . “_ovalue”); $query_orderby = “ ORDER BY $order $value”; }’. La cadena resultante se añade textualmente a la consulta final en C4::Reports::Guided (’$query .= $orderby;’) sin escape. Dado que las columnas ORDER BY no pueden vincularse a través de marcadores de posición de sentencias preparadas, esto requiere una lista de permitidos explícita, que no existe. Cualquier cuenta de personal con el permiso de bajo privilegio create_reports o execute_reports (comúnmente concedido al personal de la biblioteca no administrador) puede realizar una inyección SQL ciega basada en tiempo contra la base de datos de Koha, que almacena PII de los usuarios y credenciales de personal/LDAP.