{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-21715", "assignerOrgId": "36234546-b8fa-4601-9d6f-f4e334aa8ea1", "state": "PUBLISHED", "assignerShortName": "hackerone", "dateReserved": "2026-01-04T15:00:06.574Z", "datePublished": "2026-03-30T19:07:28.507Z", "dateUpdated": "2026-09-17T18:36:37.076Z" }, "containers": { "cna": { "descriptions": [ { "lang": "en", "value": "A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync.native()` without the required read permission checks, while all comparable filesystem functions correctly enforce them.\r\n\r\nAs a result, code running under `--permission` with restricted `--allow-fs-read` can still use `fs.realpathSync.native()` to check file existence, resolve symlink targets, and enumerate filesystem paths outside of permitted directories.\r\n\r\nThis vulnerability affects **20.x, 22.x, 24.x, and 25.x** processes using the Permission Model where `--allow-fs-read` is intentionally restricted." } ], "affected": [ { "defaultStatus": "unaffected", "vendor": "nodejs", "product": "node", "versions": [ { "version": "20.20.1", "status": "affected", "lessThanOrEqual": "20.20.1", "versionType": "semver" }, { "version": "22.22.1", "status": "affected", "lessThanOrEqual": "22.22.1", "versionType": "semver" }, { "version": "24.14.0", "status": "affected", "lessThanOrEqual": "24.14.0", "versionType": "semver" }, { "version": "25.8.1", "status": "affected", "lessThanOrEqual": "25.8.1", "versionType": "semver" }, { "version": "4.0", "status": "affected", "lessThan": "4.*", "versionType": "semver" }, { "version": "5.0", "status": "affected", "lessThan": "5.*", "versionType": "semver" }, { "version": "6.0", "status": "affected", "lessThan": "6.*", "versionType": "semver" }, { "version": "7.0", "status": "affected", "lessThan": "7.*", "versionType": "semver" }, { "version": "8.0", "status": "affected", "lessThan": "8.*", "versionType": "semver" }, { "version": "9.0", "status": "affected", "lessThan": "9.*", "versionType": "semver" }, { "version": "10.0", "status": "affected", "lessThan": "10.*", "versionType": "semver" }, { "version": "11.0", "status": "affected", "lessThan": "11.*", "versionType": "semver" }, { "version": "12.0", "status": "affected", "lessThan": "12.*", "versionType": "semver" }, { "version": "13.0", "status": "affected", "lessThan": "13.*", "versionType": "semver" }, { "version": "14.0", "status": "affected", "lessThan": "14.*", "versionType": "semver" }, { "version": "15.0", "status": "affected", "lessThan": "15.*", "versionType": "semver" }, { "version": "16.0", "status": "affected", "lessThan": "16.*", "versionType": "semver" }, { "version": "17.0", "status": "affected", "lessThan": "17.*", "versionType": "semver" }, { "version": "18.0", "status": "affected", "lessThan": "18.*", "versionType": "semver" }, { "version": "19.0", "status": "affected", "lessThan": "19.*", "versionType": "semver" } ] } ], "references": [ { "url": "https://nodejs.org/en/blog/vulnerability/march-2026-security-releases" } ], "metrics": [ { "cvssV3_0": { "version": "3.0", "vectorString": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 3.3, "baseSeverity": "LOW" } } ], "providerMetadata": { "orgId": "36234546-b8fa-4601-9d6f-f4e334aa8ea1", "shortName": "hackerone", "dateUpdated": "2026-03-30T19:07:28.507Z" } }, "adp": [ { "problemTypes": [ { "descriptions": [ { "type": "CWE", "cweId": "CWE-732", "lang": "en", "description": "CWE-732 Incorrect Permission Assignment for Critical Resource" } ] } ], "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-04-01T14:55:13.031405Z", "id": "CVE-2026-21715", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-09-17T18:36:37.076Z" } } ] } }