Thursday February 16 2023 Security Releases

Michael Dawson

(Update 16-February-2023) Security releases available

Updates are now available for the v19.x, v18.x, v16.x, and v14.x Node.js release lines for the following issues.

OpenSSL Security updates

This security release includes OpenSSL security updates as outlined in the recent OpenSSL security advisory.

Impacts:

  • All versions of the 19.x, 18.x, 16.x, and 14.x release lines.

Node.js Permissions policies can be bypassed via process.mainModule (High) (CVE-2023-23918)

It was possible to bypass Permissions and access non authorized modules by using process.mainModule.require(). This only affects users who had enabled the experimental permissions option with --experimental-policy.

Thank you, to @goums for reporting this vulnerability and thank you Rafael Gonzaga for fixing it.

Impacts:

  • All versions of the 19.x, 18.x, 16.x, and 14.x release lines.

Node.js OpenSSL error handling issues in nodejs crypto library (Medium) (CVE-2023-23919)

In some cases Node.js did does not clear the OpenSSL error stack after operations that may set it. This may lead to false positive errors during subsequent cryptographic operations that happen to be on the same thread. This in turn could be used to cause a denial of service.

Thank you, to Morgan Jones and Ryan Dorrity from Viasat Secure Mobile for reporting and discovering this vulnerability and thank you Rafael Gonzaga for fixing it.

Impacts:

  • Versions of < 19.2.0 and lower of the 19.x release line and all versions of the 18.x, and 16.x release lines.

Fetch API in Node.js did not protect against CRLF injection in host headers (Medium) (CVE-2023-23936)

The fetch API in Node.js did not prevent CRLF injection in the 'host' header potentially allowing attacks such as HTTP response splitting and HTTP header injection.

Thank you, to Zhipeng Zhang (@timon8) for reporting this vulnerability and thank you Robert Nagy for fixing it.

Impacts:

  • All versions of the 19.x, 18.x and 16.x release lines.

Regular Expression Denial of Service in Headers in Node.js fetch API(Low) (CVE-2023-24807)

The Headers.set() and Headers.append() methods in the fetch API in Node.js were vulnerable to a Regular Expression Denial of Service (ReDoS) attacks.

Thank you, to Carter Snook for reporting this vulnerability and thank you Rich Trott for fixing it.

Impacts:

  • All versions of the 19.x, 18.x, and 16.x release lines.

Node.js insecure loading of ICU data through ICU_DATA environment variable (Low) (CVE-2023-23920)

Node.js would search and potentially load ICU data when running with elevated priviledges. Node.js was modified to build with ICU_NO_USER_DATA_OVERRIDE to avoid this.

Thank you, to Ben Noordhuis for reporting this vulnerability and thank you Rafael Gonzaga for fixing it.

Impacts:

  • All versions of the 19.x, 18.x, 16.x, and 14.x release lines.

npm update for Node.js 14

This security release also includes an npm update for Node.js 14 to address a number of CVEs which either do not affect Node.js or are low severity in the context of Node.js. You can get more details for the individual CVEs in nodejs-dependency-vuln-assessments.

Impacts:

  • All versions 14.x release lines.

Downloads and release details

Thanks to Rafael Gonzaga and Richard Lau for their work on the releases.

(Update 14-February-2023) 2 Day delay in security releases

The Node.js project is delaying the planned security releases until Thursday February 16 2023 due to the need for additional testing and validation.

(Update 7-February-2023) Summary

The Node.js project will release new versions of the 14.x, 16.x, 18.x and 19.x releases lines on or shortly after, Tuesday February 14 2023 in order to address:

  • 2 low severity issues.
  • 2 medium severity issues.
  • 1 high severity issues.
  • OpenSSL security updates for which the highest vulnerability severity is high. You can read more about this update in the OpenSSL security advisory.

Impact

The 19.x release line of Node.js is vulnerable to 2 low severity issues, 2 medium severity issues and 1 high severity issue and the OpenSSL vulnerabilities.

The 18.x release line of Node.js is vulnerable to 2 low severity issues, 2 medium severity issues and 1 high severity issue and the OpenSSL vulnerabilities.

The 16.x release line of Node.js is vulnerable to 2 low severity issues, 2 medium severity issues, and 1 high severity issue and the OpenSSL vulnerabilities.

The 14.x release line of Node.js is vulnerable to 1 low severity issue, and 1 high severity issue and the OpenSSL vulnerabilities.

Release timing

Releases will be available on, or shortly after, Tuesday February 14 2023.

Contact and future updates

The current Node.js security policy can be found at /security/. Please follow the process outlined in https://github.com/nodejs/node/security/policy if you wish to report a vulnerability in Node.js.

Subscribe to the low-volume announcement-only nodejs-sec mailing list at https://groups.google.com/forum/#!forum/nodejs-sec to stay up to date on security vulnerabilities and security-related releases of Node.js and the projects maintained in the nodejs GitHub organization.