CVE-2023-30581

NameCVE-2023-30581
DescriptionThe use of __proto__ in process.mainModule.__proto__.require() can bypass the policy mechanism and require modules outside of the policy.json definition. This vulnerability affects all users using the experimental policy mechanism in all active release lines: v16, v18 and, v20. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDSA-5589-1
Debian Bugs1039990

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
nodejs (PTS)jessie0.10.29~dfsg-2vulnerable
stretch4.8.2~dfsg-1vulnerable
buster (security), buster, buster (lts)10.24.0~dfsg-1~deb10u4fixed
bullseye12.22.12~dfsg-1~deb11u4vulnerable
bullseye (security)12.22.12~dfsg-1~deb11u5vulnerable
bookworm18.19.0+dfsg-6~deb12u2fixed
bookworm (security)18.19.0+dfsg-6~deb12u1fixed
sid, trixie20.18.1+dfsg-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
nodejssourcejessie(unfixed)end-of-life
nodejssourcestretch(unfixed)end-of-life
nodejssourcebuster(not affected)
nodejssourcebookworm18.19.0+dfsg-6~deb12u1DSA-5589-1
nodejssource(unstable)18.13.0+dfsg1-1.11039990

Notes

[bullseye] - nodejs <ignored> (Only affects experimental policy manifests)
[buster] - nodejs <not-affected> (v10.x doesn't support policy manifests)
https://nodejs.org/en/blog/vulnerability/june-2023-security-releases#mainmoduleproto-bypass-experimental-policy-mechanism-high-cve-2023-30581
https://hackerone.com/reports/1877919
Fixed by: https://github.com/nodejs/node/commit/a6f4e87bc913ff18c1859b8a350c24f744355e66 (v16.x)

Search for package or bug name: Reporting problems