CVE-2026-70371
Koha's reports/issues_avg_stats.pl builds dynamic SQL in sub calculate by concatenating several user-controlled request parameters directly into the query string. The Line and Column parameters are not validated against any whitelist and land verbatim in identifier positions (SELECT DISTINCTROW, GROUP BY, ORDER BY), and each Filter slot is concatenated raw into single-quoted LIKE, BETWEEN, and comparison fragments with no bound parameters.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Puntuación base: 8.8
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.57%
- Percentil entre todas las CVEs puntuadas: 45
- Fecha de la puntuación: 5/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 movement90 % - Impacto principal
T1005Data from Local Systemcollection85 % - Impacto secundario
T1068Exploitation for Privilege Escalationprivilege escalation75 % - Impacto secundario
T1565.001Stored Data Manipulationimpact80 %
SQL injection (CWE-89) sin validación en parámetros de usuario permite inyectar código SQL arbitrario en consultas dinámicas. AV:N/PR:L permite explotación remota con autenticación. Impactos: lectura de datos (T1005), modificación de datos en BD (T1565.001), potencial escalada local (T1068).
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-70371",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-70371",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-08-04T17:21:38.231269Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.8
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.5,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 3.6,
"exploitabilityScore": 2.8
}
]
},
"affected": [
{
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"affectedData": [
{
"repo": "https://gitlab.com/koha-community/Koha",
"vendor": "Koha Community",
"product": "Koha",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "semver",
"lessThanOrEqual": "24.11.17"
},
{
"status": "affected",
"version": "25.05.00",
"versionType": "semver",
"lessThanOrEqual": "25.05.12"
},
{
"status": "affected",
"version": "25.11.00",
"versionType": "semver",
"lessThanOrEqual": "25.11.06"
},
{
"status": "affected",
"version": "26.05.00",
"versionType": "semver",
"lessThanOrEqual": "26.05.01"
}
],
"programFiles": [
"reports/issues_avg_stats.pl"
],
"collectionURL": "https://koha-community.org/",
"defaultStatus": "unaffected"
}
]
}
],
"published": "2026-08-04T13:18:57.930",
"references": [
{
"url": "https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42368",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
},
{
"url": "https://download.koha-community.org/koha-25.05.12.tar.gz",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
},
{
"url": "https://koha-community.org/koha-25-05-12-released/",
"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's reports/issues_avg_stats.pl builds dynamic SQL in sub calculate by concatenating several user-controlled request parameters directly into the query string. The Line and Column parameters are not validated against any whitelist and land verbatim in identifier positions (SELECT DISTINCTROW, GROUP BY, ORDER BY), and each Filter slot is concatenated raw into single-quoted LIKE, BETWEEN, and comparison fragments with no bound parameters."
}
],
"lastModified": "2026-08-26T17:36:16.900",
"sourceIdentifier": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
}