CVE-2023-32005
A vulnerability has been identified in Node.js version 20, affecting users of the experimental permission model when the --allow-fs-read flag is used with a non-* argument.
This flaw arises from an inadequate permission model that fails to restrict file stats through the `fs.statfs` API. As a result, malicious actors can retrieve stats from files that they do not have explicit read access to.
This vulnerability affects all users using the experimental permission model in Node.js 20.
Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Puntuación base: 5.3
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 1.36%
- Percentil entre todas las CVEs puntuadas: 71
- 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-732
- CWE-732
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2023-32005",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2023-32005",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-09-26T14:44:42.313206Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.3,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 1.4,
"exploitabilityScore": 3.9
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.3,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 1.4,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "support@hackerone.com",
"affectedData": [
{
"vendor": "NodeJS",
"product": "Node",
"versions": [
{
"status": "affected",
"version": "4.0",
"lessThan": "4.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.0",
"lessThan": "5.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.0",
"lessThan": "6.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "7.0",
"lessThan": "7.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "8.0",
"lessThan": "8.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "9.0",
"lessThan": "9.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "10.0",
"lessThan": "10.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "11.0",
"lessThan": "11.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "12.0",
"lessThan": "12.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "13.0",
"lessThan": "13.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "14.0",
"lessThan": "14.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "15.0",
"lessThan": "15.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "17.0",
"lessThan": "17.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "19.0",
"lessThan": "19.*",
"versionType": "semver"
},
{
"status": "affected",
"version": "20.0",
"lessThan": "20.5.1",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
]
}
],
"published": "2023-09-12T02:15:11.863",
"references": [
{
"url": "https://hackerone.com/reports/2051224",
"tags": [
"Exploit",
"Third Party Advisory"
],
"source": "support@hackerone.com"
},
{
"url": "https://security.netapp.com/advisory/ntap-20231103-0004/",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "support@hackerone.com"
},
{
"url": "https://hackerone.com/reports/2051224",
"tags": [
"Exploit",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://security.netapp.com/advisory/ntap-20231103-0004/",
"tags": [
"Third Party Advisory",
"VDB Entry"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-732"
}
]
},
{
"type": "Secondary",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"description": [
{
"lang": "en",
"value": "CWE-732"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "A vulnerability has been identified in Node.js version 20, affecting users of the experimental permission model when the --allow-fs-read flag is used with a non-* argument.\n\nThis flaw arises from an inadequate permission model that fails to restrict file stats through the `fs.statfs` API. As a result, malicious actors can retrieve stats from files that they do not have explicit read access to.\n\nThis vulnerability affects all users using the experimental permission model in Node.js 20.\n\nPlease note that at the time this CVE was issued, the permission model is an experimental feature of Node.js."
},
{
"lang": "es",
"value": "Se ha identificado una vulnerabilidad en la versión 20 de Node.js, que afecta a los usuarios del modelo de permisos experimental cuando se utiliza el indicador --allow-fs-read con un argumento \"non-*\". Esta falla surge de un modelo de permisos inadecuado que no logra restringir las estadísticas de archivos a través de la API `fs.statfs`. Como resultado, los actores maliciosos pueden recuperar estadísticas de archivos a los que no tienen acceso de lectura explícito. Esta vulnerabilidad afecta a todos los usuarios que utilizan el modelo de permiso experimental en Node.js 20. Tenga en cuenta que en el momento en que se emitió este CVE, el modelo de permiso es una característica experimental de Node.js."
}
],
"lastModified": "2026-06-17T05:57:49.830",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1B1EE318-9E7D-4AF1-9FB5-245C9F8BBBE0",
"versionEndExcluding": "20.5.1",
"versionStartIncluding": "20.0.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "support@hackerone.com"
}