Skip to content
7.9 High

CVE-2024-21896 The permission model protects itself against path traversal attacks by calling path.resolve() on any paths given by…

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.

Affected products and versions

Product Affected versions Fixed in
Node 21.0 21.0 → < 21.6.2 21.6.2
Node 20.0 20.0 → < 20.11.1 20.11.1
Node 19.0 19.0 → latest No fix stated
Node 17.0 17.0 → latest No fix stated
Node 16.0 16.0 → latest No fix stated
Node 15.0 15.0 → latest No fix stated
Node 14.0 14.0 → latest No fix stated
Node 13.0 13.0 → latest No fix stated
Node 12.0 12.0 → latest No fix stated
Show the 10 other branches
Product Affected versions Fixed in
Node 11.0 11.0 → latest No fix stated
Node 10.0 10.0 → latest No fix stated
Node 9.0 9.0 → latest No fix stated
Node 8.0 8.0 → latest No fix stated
Node 7.0 7.0 → latest No fix stated
Node 6.0 6.0 → latest No fix stated
Node 5.0 5.0 → latest No fix stated
Node 4.0 4.0 → latest No fix stated
nodejs 21.6.1 No fix stated
nodejs 20.11 earliest → < 20.11.0 20.11.0

References

Timeline

  1. Published
  2. Last modified
The 129 CVEs of Node →
Track this CVE