CVE-2026-105107
Koha es vulnerable a inyección SQL en el informe de los artículos más prestados. El script reports/cat_issues_top.pl (subrutina calculate) concatena directamente los parámetros de solicitud controlados por el usuario Criteria, Filter y Limit en SQL dinámico. Criteria solo se normaliza en cuanto al prefijo y nunca se valida frente a una lista de permitidos, por lo que se inserta literalmente en posiciones de identificadores (SELECT DISTINCTROW, GROUP BY, ORDER BY y la consulta principal de cálculo).
Leer descripción completaMostrar menos
Los valores de Filter se concatenan sin procesar en fragmentos LIKE, BETWEEN y de comparación entre comillas simples. Limit se añade sin procesar a una cláusula LIMIT. Un usuario autenticado del personal con el permiso del módulo de informes (que no requiere ser superbibliotecario) puede inyectar SQL arbitrario y leer cualquier tabla accesible por el usuario de la base de datos de Koha, incluidas borrowers (userid y hashes de contraseñas bcrypt, secretos de autenticación de dos factores, datos personales), api_keys y sessions. El problema está corregido en Koha 24.11.19, 25.05.14, 25.11.08 y 26.05.03, así como en la rama de desarrollo 26.11. Este es el gemelo sin parchear de reports/bor_issues_top.pl (CVE-2026-70372).
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 7.2
- Versión
- 4.0
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.28 %
- Percentil entre todas las CVEs puntuadas
- 19
- Fecha de la puntuación
- 21/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1210Exploitation of Remote Serviceslateral movement85 % - Impacto principal
T1005Data from Local Systemcollection90 % - Impacto secundario
T1552Unsecured Credentialscredential access55 %
SQLi en Criteria, Filter y Limit con usuario staff autenticado (PR:L, UI:N, red); el texto indica lectura de borrowers (hashes bcrypt, secretos 2FA), api_keys y sessions.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-89
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-105107",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-105107",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-10-14T15:54:47.222456Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.6,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L",
"integrityImpact": "LOW",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "LOW",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 4.7,
"exploitabilityScore": 2.8
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 7.2,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "LOW",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "LOW",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"affectedData": [
{
"vendor": "Koha Community",
"product": "Koha",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "24.11.00",
"versionType": "custom"
},
{
"status": "affected",
"version": "24.11.00",
"lessThan": "24.11.19",
"versionType": "custom"
},
{
"status": "affected",
"version": "25.05.00",
"lessThan": "25.05.14",
"versionType": "custom"
},
{
"status": "affected",
"version": "25.11.00",
"lessThan": "25.11.08",
"versionType": "custom"
},
{
"status": "affected",
"version": "26.05.00",
"lessThan": "26.05.03",
"versionType": "custom"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-10-14T08:17:03.747",
"references": [
{
"url": "https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42736",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
},
{
"url": "https://download.koha-community.org/",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
},
{
"url": "https://www.cve.org/CVERecord?id=CVE-2026-6428",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
},
{
"url": "https://www.cve.org/CVERecord?id=CVE-2026-70372",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"description": [
{
"lang": "en",
"value": "CWE-89"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Koha is vulnerable to SQL injection in the Most-circulated items report. The reports/cat_issues_top.pl script (sub calculate) concatenates the user-controlled Criteria, Filter, and Limit request parameters directly into dynamic SQL. Criteria is only prefix-normalized and never validated against an allow-list, so it is inserted verbatim into identifier positions (SELECT DISTINCTROW, GROUP BY, ORDER BY, and the main calculation query). Filter values are concatenated raw into single-quoted LIKE, BETWEEN, and comparison fragments. Limit is appended raw to a LIMIT clause. An authenticated staff user with the reports module permission (not requiring superlibrarian) can inject arbitrary SQL and read any table reachable by the Koha database user, including borrowers (userid and bcrypt password hashes, two-factor secrets, personal data), api_keys, and sessions. The issue is fixed in Koha 24.11.19, 25.05.14, 25.11.08, and 26.05.03, and in the 26.11 development branch. This is the unpatched twin of reports/bor_issues_top.pl (CVE-2026-70372)."
}
],
"lastModified": "2026-10-15T15:53:08.287",
"sourceIdentifier": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
}