CVE-2023-30586

Public on 2023-06-23
Modified on 2023-06-23
Description
Node.js 20 allows loading arbitrary OpenSSL engines when the experimental permission model is enabled, which can bypass and/or disable the permission model.

The crypto.setEngine() API can be used to bypass the permission model when called with a compatible OpenSSL engine. The OpenSSL engine can, for example, disable the permission model in the host process by manipulating the process's stack memory to locate the permission model Permission::enabled_ in the host process's heap memory.

This vulnerability affects all users using the experimental permission model in Node.js 20.

Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
Severity
Medium severity
Medium
CVSS v3 Base Score
5.6
See breakdown

Affected Packages

Platform Package Release Date Advisory Status
Amazon Linux 2023 nodejs Not Affected
Amazon Linux 2 - Core nodejs-packaging Not Affected
Amazon Linux 2023 nodejs-packaging Not Affected

CVSS Scores

Score Type Score Vector
Amazon Linux CVSSv3 5.6 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
NVD CVSSv3 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N