CVE-2024-21896

NodeJS Node

HIGH 7.9

At a glance

Source
NVD
EPSS
EPSS 1.26 % · percentile 70 ()
State
PUBLISHED
Published
Updated
Assigner
hackerone
NVD status
Analyzed

Description

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.

Weaknesses (CWE)

  • CWE-27 — Path Traversal: 'dir/../../filename'

References

Scores

VersionScoreVectorScored by
CVSS 3.0HIGH 7.9CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N/CR:M/IR:M/AR:Mhackerone
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)
CVSS 3.0HIGH 7.9CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:NNVD · support@hackerone.com (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
NodeJS · Nodeaffected 4.0 < 4.* ; affected 5.0 < 5.* ; affected 6.0 < 6.* ; affected 7.0 < 7.* ; affected 8.0 < 8.* ; affected 9.0 < 9.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD