CVE-2020-15236
In Wiki.js before version 2.5.151, directory traversal outside of Wiki.js context is possible when a storage module with local asset cache fetching is enabled. A malicious user can potentially read any file on the file system by crafting a special URL that allows for directory traversal. This is only possible when a storage module implementing local asset cache (e.g Local File System or Git) is enabled and that no web application firewall solution (e.g. cloudflare) strips potentially malicious URLs.
Leer descripción completaMostrar menos
Commit 084dcd69d1591586ee4752101e675d5f0ac6dcdc fixes this vulnerability by sanitizing the path before it is passed on to the storage module. The sanitization step removes any directory traversal (e.g. `..` and `.`) sequences as well as invalid filesystem characters from the path. As a workaround, disable any storage module with local asset caching capabilities such as Local File System and Git.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Puntuación base: 7.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 1.77%
- Percentil entre todas las CVEs puntuadas: 77
- Fecha de la puntuación: 6/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).
Tecnologías afectadas (1)
CWE
- CWE-22
Referencias
- https://github.com/Requarks/wiki/commit/084dcd69d1591586ee4752101e675d5f0ac6dcdc
- https://github.com/Requarks/wiki/security/advisories/GHSA-whpv-5xg2-w527
- https://github.com/Requarks/wiki/commit/084dcd69d1591586ee4752101e675d5f0ac6dcdc
- https://github.com/Requarks/wiki/security/advisories/GHSA-whpv-5xg2-w527
JSON original (NVD)
Mostrar
{
"id": "CVE-2020-15236",
"cveTags": [],
"metrics": {
"cvssMetricV2": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"version": "2.0",
"baseScore": 5,
"accessVector": "NETWORK",
"vectorString": "AV:N/AC:L/Au:N/C:P/I:N/A:N",
"authentication": "NONE",
"integrityImpact": "NONE",
"accessComplexity": "LOW",
"availabilityImpact": "NONE",
"confidentialityImpact": "PARTIAL"
},
"acInsufInfo": false,
"impactScore": 2.9,
"baseSeverity": "MEDIUM",
"obtainAllPrivilege": false,
"exploitabilityScore": 10,
"obtainUserPrivilege": false,
"obtainOtherPrivilege": false,
"userInteractionRequired": false
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 8.6,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 4,
"exploitabilityScore": 3.9
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.5,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "Requarks",
"product": "wiki",
"versions": [
{
"status": "affected",
"version": ">= 2.5.80, < 2.5.151"
}
]
}
]
}
],
"published": "2020-10-05T15:15:12.047",
"references": [
{
"url": "https://github.com/Requarks/wiki/commit/084dcd69d1591586ee4752101e675d5f0ac6dcdc",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/Requarks/wiki/security/advisories/GHSA-whpv-5xg2-w527",
"tags": [
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/Requarks/wiki/commit/084dcd69d1591586ee4752101e675d5f0ac6dcdc",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/Requarks/wiki/security/advisories/GHSA-whpv-5xg2-w527",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-22"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In Wiki.js before version 2.5.151, directory traversal outside of Wiki.js context is possible when a storage module with local asset cache fetching is enabled. A malicious user can potentially read any file on the file system by crafting a special URL that allows for directory traversal. This is only possible when a storage module implementing local asset cache (e.g Local File System or Git) is enabled and that no web application firewall solution (e.g. cloudflare) strips potentially malicious URLs. Commit 084dcd69d1591586ee4752101e675d5f0ac6dcdc fixes this vulnerability by sanitizing the path before it is passed on to the storage module. The sanitization step removes any directory traversal (e.g. `..` and `.`) sequences as well as invalid filesystem characters from the path. As a workaround, disable any storage module with local asset caching capabilities such as Local File System and Git."
},
{
"lang": "es",
"value": "En Wiki.js versiones anteriores a 2.5.151, el salto de directorio fuera del contexto de Wiki.js es posible cuando es habilitado un módulo de almacenamiento con una extracción de caché de activo local. Un usuario malicioso puede leer potencialmente cualquier archivo en el sistema de archivos diseñando una URL especial que permita un salto de directorio. Esto solo es posible cuando un módulo de almacenamiento que implementa la caché de activos local (por ejemplo, Local File System o Git) está habilitado y ninguna corrección de firewall de aplicaciones web (por ejemplo, cloudflare) elimina las URL potencialmente maliciosas. Commit 084dcd69d1591586ee4752101e675d5f0ac6dcdc corrige esta vulnerabilidad saneando la ruta antes de pasarla hacia el módulo de almacenamiento. El paso del saneamiento elimina cualquier secuencia de salto de directorio (por ejemplo, \"..\" y \".\"), así como los caracteres del sistema de archivos no válidos de la ruta. Como solución alternativa, deshabilitar cualquier módulo de almacenamiento con capacidades de hacer cache de activos locales como el Local File System o Git"
}
],
"lastModified": "2026-06-17T02:56:19.813",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:requarks:wiki.js:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "648B7617-D52A-4CF4-8081-6A5E7C49415A",
"versionEndExcluding": "2.5.151",
"versionStartIncluding": "2.5.80"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}