CRITICAL 9.8 Microsoft

CVE-2024-21896

The permission model protects itself against path traversal attacks by calling path.resolve() on any paths given by the user. If the path is to be treated as a Buffer the implementation uses Buffer.from() to obtain a Buffer from the result of path.resolve(). By monkey-patching Buffer internals namely Buffer.prototype.utf8Write the application can modify the result of path.resolve() which leads to a path traversal vulnerability. This vulnerability affects all users using the experimental permission model in Node.js 20 and Node.js 21. Please note that at the time this CVE was issued the permission model is an experimental feature of Node.js.

Microsoft Security Update 2024-Feb: The permission model protects itself against path traversal attacks by calling path.resolve() on any paths given by the user. If the path is to be treated as a Buffer the implementation uses Buffer.from() to obtain a Buffer from the result of path.resolve(). By monkey-patching Buffer internals namely Buffer.prototype.utf8Write the application can modify the result of path.resolve() which leads to a path traversal vulnerability. This vulnerability affects all users using the experimental permission model in Node.js 20 and Node.js 21. Please note that at the time this CVE was issued the permission model is an experimental feature of Node.js.

Affected Products

References

Published: 2024-02-13 · Source: Microsoft · Feed updated: 2026-09-24
This critical severity vulnerability with a CVSS score of 9.8 was published on 2024-02-13 via Microsoft. Affected: azl3 nodejs 20.14.0-1 on Azure Linux 3.0, azl3 nodejs 20.10.0-2 on Azure Linux 3.0.

Risk Timeline

CVE Disclosed2024-02-13 · 954 days ago

Remediation Resources

Related Vulnerabilities

CVETitleSeverityCVSS
CVE-2026-39821Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/neCRITICAL10.0
CVE-2026-42960Possible cache poisoning via promiscuous records for the authority sectionCRITICAL10.0
CVE-2026-46595Invoking VerifiedPublicKeyCallback permissions skip enforcement in golang.org/xCRITICAL10.0
CVE-2025-32433 PoCErlang/OTP SSH Vulnerable to Pre-Authentication RCECRITICAL10.0
CVE-2025-62168 PoCSquid vulnerable to information disclosure via authentication credential leakageCRITICAL10.0
CVE-2026-7374Kubevirt: kubevirt virt-handler: privilege escalation and node compromise via syCRITICAL9.9
vulnfeed aggregates 11940 vulnerabilities from NVD, CISA KEV, Ubuntu, Debian, Red Hat, Kubernetes, Exploit-DB, OSS-Security, GitHub and OpenStack — updated every 4 hours.