CVE-2026-71288 in Koha
Resumen
por VulDB • 2026-08-05
El constructor de informes guiados de Koha (`reports/guided_reports.pl`) lee el parámetro CGI `order_by` y, para cada valor, un parámetro `{order}_ovalue` con nombre dinámico, concatenando ambos directamente en una cláusula SQL ORDER BY sin ninguna lista blanca 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 anexa literalmente a la consulta final en `C4::Reports::Guided` (`$query .= $orderby;`) sin ningún tipo de escape. Dado que las columnas de ORDER BY no pueden vincularse mediante marcadores de posición (placeholders) en sentencias preparadas, esto requiere una lista blanca explícita, la cual no existe. Cualquier cuenta del personal con el permiso de bajo privilegio `create_reports` o `execute_reports` (concedido comúnmente al personal bibliotecario que no es administrador) puede realizar inyección SQL ciega basada en tiempo contra la base de datos de Koha, la cual almacena información de identificación personal (PII) de los usuarios y credenciales del personal/LDAP.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.