Bug 1216271 (CVE-2023-39332) - VUL-0: CVE-2023-39332: nodejs: Path traversal through path stored in Uint8Array
Summary: VUL-0: CVE-2023-39332: nodejs: Path traversal through path stored in Uint8Array
Status: RESOLVED FIXED
Alias: CVE-2023-39332
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Major
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/381936/
Whiteboard: CVSSv3.1:SUSE:CVE-2023-39332:7.5:(AV:...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-10-16 09:33 UTC by Thomas Leroy
Modified: 2024-05-30 18:52 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Leroy 2023-10-16 09:33:58 UTC
Various node:fs functions allow specifying paths as either strings or Uint8Array objects. In Node.js environments, the Buffer class extends the Uint8Array class. Node.js prevents path traversal through strings (see CVE-2023-30584) and Buffer objects (see CVE-2023-32004), but not through non-Buffer Uint8Array objects.

This is distinct from CVE-2023-32004 (report 2038134), which only referred to Buffer objects. However, the vulnerability follows the same pattern using Uint8Array instead of Buffer.

Impacts:

This vulnerability affects all users using the experimental permission model in Node.js 20.x.
Please note that at the time this CVE is issued, the permission model is an experimental feature of Node.js.

Thanks to Tobias Nießen who reported and created the security patch.

References:
https://nodejs.org/en/blog/vulnerability/october-2023-security-releases
Comment 2 OBSbugzilla Bot 2023-10-16 14:15:08 UTC
This is an autogenerated message for OBS integration:
This bug (1216271) was mentioned in
https://build.opensuse.org/request/show/1118025 Factory / nodejs20
Comment 5 Bruno Pitrus 2023-10-16 17:28:50 UTC
Upstream claims this affects only Node 20. Electron uses Node 18. Removing myself from cc.
Comment 8 Carlos López 2024-05-30 18:52:43 UTC
Done, closing.