An update for nodejs is now available for openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS,openEuler-22.03-LTS-SP1 and openEuler-22.03-LTS-SP2 Security Advisory openeuler-security@openeuler.org openEuler security committee openEuler-SA-2023-1551 Final 1.0 1.0 2023-09-02 Initial 2023-09-02 2023-09-02 openEuler SA Tool V1.0 2023-09-02 nodejs security update An update for nodejs is now available for openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS,openEuler-22.03-LTS-SP1 and openEuler-22.03-LTS-SP2. Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. Security Fix(es): This affects versions of the package http-cache-semantics before 4.1.1. The issue can be exploited via malicious request header values sent to a server, when that server reads the cache policy from the request using this library. (CVE-2022-25881) A OS Command Injection vulnerability exists in Node.js versions <14.20.0, <16.20.0, <18.5.0 due to an insufficient IsAllowedHost check that can easily be bypassed because IsIPAddress does not properly check if an IP address is invalid before making DBS requests allowing rebinding attacks.(CVE-2022-32212) The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly parse and validate Transfer-Encoding headers and can lead to HTTP Request Smuggling (HRS).(CVE-2022-32213) The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS).(CVE-2022-32214) The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS).(CVE-2022-32215) The llhttp parser in the http module in Node v18.7.0 does not correctly handle header fields that are not terminated with CLRF. This may result in HTTP Request Smuggling.(CVE-2022-35256) A privilege escalation vulnerability exists in Node.js <19.6.1, <18.14.1, <16.19.1 and <14.21.3 that made it possible to bypass the experimental Permissions (https://nodejs.org/api/permissions.html) feature in Node.js and access non authorized modules by using process.mainModule.require(). This only affects users who had enabled the experimental permissions option with --experimental-policy.(CVE-2023-23918) An untrusted search path vulnerability exists in Node.js. <19.6.1, <18.14.1, <16.19.1, and <14.21.3 that could allow an attacker to search and potentially load ICU data when running with elevated privileges.(CVE-2023-23920) The use of proto in process.mainModule.proto.require() can bypass the policy mechanism and require modules outside of the policy.json definition. References: https://nodejs.org/en/blog/vulnerability/june-2023-security-releases(CVE-2023-30581) The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS). The CR character (without LF) is sufficient to delimit HTTP header fields in the llhttp parser. According to RFC7230 section 3, only the CRLF sequence should delimit each header-field. This impacts all Node.js active versions: v16, v18, and, v20 (CVE-2023-30589) The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet. References: https://nodejs.org/en/blog/vulnerability/june-2023-security-releases(CVE-2023-30590) The use of `Module._load()` can bypass the policy mechanism and require modules outside of the policy.json definition for a given module. This vulnerability affects all users using the experimental policy mechanism in all active release lines: 16.x, 18.x and, 20.x. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js.(CVE-2023-32002) The use of `module.constructor.createRequire()` can bypass the policy mechanism and require modules outside of the policy.json definition for a given module. This vulnerability affects all users using the experimental policy mechanism in all active release lines: 16.x, 18.x, and, 20.x. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js.(CVE-2023-32006) A privilege escalation vulnerability exists in the experimental policy mechanism in all active release lines: 16.x, 18.x and, 20.x. The use of the deprecated API `process.binding()` can bypass the policy mechanism by requiring internal modules and eventually take advantage of `process.binding('spawn_sync')` run arbitrary code, outside of the limits defined in a `policy.json` file. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js.(CVE-2023-32559) An update for nodejs is now available for openEuler-20.03-LTS-SP1,openEuler-20.03-LTS-SP3,openEuler-22.03-LTS,openEuler-22.03-LTS-SP1 and openEuler-22.03-LTS-SP2. openEuler Security has rated this update as having a security impact of critical. A Common Vunlnerability Scoring System(CVSS)base score,which gives a detailed severity rating, is available for each vulnerability from the CVElink(s) in the References section. Critical nodejs https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-25881 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-32212 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-32213 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-32214 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-32215 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2022-35256 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-23918 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-23920 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-30581 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-30589 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-30590 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-32002 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-32006 https://www.openeuler.org/en/security/cve/detail.html?id=CVE-2023-32559 https://nvd.nist.gov/vuln/detail/CVE-2022-25881 https://nvd.nist.gov/vuln/detail/CVE-2022-32212 https://nvd.nist.gov/vuln/detail/CVE-2022-32213 https://nvd.nist.gov/vuln/detail/CVE-2022-32214 https://nvd.nist.gov/vuln/detail/CVE-2022-32215 https://nvd.nist.gov/vuln/detail/CVE-2022-35256 https://nvd.nist.gov/vuln/detail/CVE-2023-23918 https://nvd.nist.gov/vuln/detail/CVE-2023-23920 https://nvd.nist.gov/vuln/detail/CVE-2023-30581 https://nvd.nist.gov/vuln/detail/CVE-2023-30589 https://nvd.nist.gov/vuln/detail/CVE-2023-30590 https://nvd.nist.gov/vuln/detail/CVE-2023-32002 https://nvd.nist.gov/vuln/detail/CVE-2023-32006 https://nvd.nist.gov/vuln/detail/CVE-2023-32559 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 nodejs-debuginfo-12.22.11-4.oe1.aarch64.rpm nodejs-full-i18n-12.22.11-4.oe1.aarch64.rpm npm-6.14.16-1.12.22.11.4.oe1.aarch64.rpm nodejs-12.22.11-4.oe1.aarch64.rpm v8-devel-7.8.279.23-1.12.22.11.4.oe1.aarch64.rpm nodejs-debugsource-12.22.11-4.oe1.aarch64.rpm nodejs-libs-12.22.11-4.oe1.aarch64.rpm nodejs-devel-12.22.11-4.oe1.aarch64.rpm nodejs-full-i18n-12.22.11-4.oe1.aarch64.rpm nodejs-devel-12.22.11-4.oe1.aarch64.rpm nodejs-libs-12.22.11-4.oe1.aarch64.rpm nodejs-debuginfo-12.22.11-4.oe1.aarch64.rpm v8-devel-7.8.279.23-1.12.22.11.4.oe1.aarch64.rpm npm-6.14.16-1.12.22.11.4.oe1.aarch64.rpm nodejs-12.22.11-4.oe1.aarch64.rpm nodejs-debugsource-12.22.11-4.oe1.aarch64.rpm nodejs-debuginfo-12.22.11-6.oe2203.aarch64.rpm nodejs-devel-12.22.11-6.oe2203.aarch64.rpm v8-devel-7.8.279.23-1.12.22.11.6.oe2203.aarch64.rpm nodejs-12.22.11-6.oe2203.aarch64.rpm nodejs-full-i18n-12.22.11-6.oe2203.aarch64.rpm npm-6.14.16-1.12.22.11.6.oe2203.aarch64.rpm nodejs-debugsource-12.22.11-6.oe2203.aarch64.rpm nodejs-libs-12.22.11-6.oe2203.aarch64.rpm npm-6.14.16-1.12.22.11.5.oe2203sp1.aarch64.rpm nodejs-full-i18n-12.22.11-5.oe2203sp1.aarch64.rpm nodejs-libs-12.22.11-5.oe2203sp1.aarch64.rpm v8-devel-7.8.279.23-1.12.22.11.5.oe2203sp1.aarch64.rpm nodejs-12.22.11-5.oe2203sp1.aarch64.rpm nodejs-devel-12.22.11-5.oe2203sp1.aarch64.rpm nodejs-debuginfo-12.22.11-5.oe2203sp1.aarch64.rpm nodejs-debugsource-12.22.11-5.oe2203sp1.aarch64.rpm nodejs-debuginfo-12.22.11-5.oe2203sp2.aarch64.rpm nodejs-devel-12.22.11-5.oe2203sp2.aarch64.rpm nodejs-full-i18n-12.22.11-5.oe2203sp2.aarch64.rpm v8-devel-7.8.279.23-1.12.22.11.5.oe2203sp2.aarch64.rpm nodejs-libs-12.22.11-5.oe2203sp2.aarch64.rpm nodejs-12.22.11-5.oe2203sp2.aarch64.rpm npm-6.14.16-1.12.22.11.5.oe2203sp2.aarch64.rpm nodejs-debugsource-12.22.11-5.oe2203sp2.aarch64.rpm nodejs-docs-12.22.11-4.oe1.noarch.rpm nodejs-docs-12.22.11-4.oe1.noarch.rpm nodejs-docs-12.22.11-6.oe2203.noarch.rpm nodejs-docs-12.22.11-5.oe2203sp1.noarch.rpm nodejs-docs-12.22.11-5.oe2203sp2.noarch.rpm nodejs-12.22.11-4.oe1.src.rpm nodejs-12.22.11-4.oe1.src.rpm nodejs-12.22.11-6.oe2203.src.rpm nodejs-12.22.11-5.oe2203sp1.src.rpm nodejs-12.22.11-5.oe2203sp2.src.rpm nodejs-12.22.11-4.oe1.x86_64.rpm npm-6.14.16-1.12.22.11.4.oe1.x86_64.rpm nodejs-debugsource-12.22.11-4.oe1.x86_64.rpm nodejs-devel-12.22.11-4.oe1.x86_64.rpm nodejs-debuginfo-12.22.11-4.oe1.x86_64.rpm v8-devel-7.8.279.23-1.12.22.11.4.oe1.x86_64.rpm nodejs-full-i18n-12.22.11-4.oe1.x86_64.rpm nodejs-libs-12.22.11-4.oe1.x86_64.rpm nodejs-devel-12.22.11-4.oe1.x86_64.rpm nodejs-debugsource-12.22.11-4.oe1.x86_64.rpm npm-6.14.16-1.12.22.11.4.oe1.x86_64.rpm nodejs-12.22.11-4.oe1.x86_64.rpm nodejs-libs-12.22.11-4.oe1.x86_64.rpm nodejs-full-i18n-12.22.11-4.oe1.x86_64.rpm v8-devel-7.8.279.23-1.12.22.11.4.oe1.x86_64.rpm nodejs-debuginfo-12.22.11-4.oe1.x86_64.rpm v8-devel-7.8.279.23-1.12.22.11.6.oe2203.x86_64.rpm nodejs-debugsource-12.22.11-6.oe2203.x86_64.rpm nodejs-12.22.11-6.oe2203.x86_64.rpm nodejs-devel-12.22.11-6.oe2203.x86_64.rpm nodejs-libs-12.22.11-6.oe2203.x86_64.rpm npm-6.14.16-1.12.22.11.6.oe2203.x86_64.rpm nodejs-full-i18n-12.22.11-6.oe2203.x86_64.rpm nodejs-debuginfo-12.22.11-6.oe2203.x86_64.rpm v8-devel-7.8.279.23-1.12.22.11.5.oe2203sp1.x86_64.rpm nodejs-libs-12.22.11-5.oe2203sp1.x86_64.rpm nodejs-debuginfo-12.22.11-5.oe2203sp1.x86_64.rpm nodejs-12.22.11-5.oe2203sp1.x86_64.rpm npm-6.14.16-1.12.22.11.5.oe2203sp1.x86_64.rpm nodejs-full-i18n-12.22.11-5.oe2203sp1.x86_64.rpm nodejs-devel-12.22.11-5.oe2203sp1.x86_64.rpm nodejs-debugsource-12.22.11-5.oe2203sp1.x86_64.rpm nodejs-debugsource-12.22.11-5.oe2203sp2.x86_64.rpm v8-devel-7.8.279.23-1.12.22.11.5.oe2203sp2.x86_64.rpm nodejs-debuginfo-12.22.11-5.oe2203sp2.x86_64.rpm nodejs-full-i18n-12.22.11-5.oe2203sp2.x86_64.rpm npm-6.14.16-1.12.22.11.5.oe2203sp2.x86_64.rpm nodejs-libs-12.22.11-5.oe2203sp2.x86_64.rpm nodejs-12.22.11-5.oe2203sp2.x86_64.rpm nodejs-devel-12.22.11-5.oe2203sp2.x86_64.rpm This affects versions of the package http-cache-semantics before 4.1.1. The issue can be exploited via malicious request header values sent to a server, when that server reads the cache policy from the request using this library. 2023-09-02 CVE-2022-25881 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 7.5 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 A OS Command Injection vulnerability exists in Node.js versions <14.20.0, <16.20.0, <18.5.0 due to an insufficient IsAllowedHost check that can easily be bypassed because IsIPAddress does not properly check if an IP address is invalid before making DBS requests allowing rebinding attacks. 2023-09-02 CVE-2022-32212 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 8.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly parse and validate Transfer-Encoding headers and can lead to HTTP Request Smuggling (HRS). 2023-09-02 CVE-2022-32213 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Medium 6.5 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS). 2023-09-02 CVE-2022-32214 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Medium 6.5 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The llhttp parser <v14.20.1, <v16.17.1 and <v18.9.1 in the http module in Node.js does not correctly handle multi-line Transfer-Encoding headers. This can lead to HTTP Request Smuggling (HRS). 2023-09-02 CVE-2022-32215 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Medium 6.5 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The llhttp parser in the http module in Node v18.7.0 does not correctly handle header fields that are not terminated with CLRF. This may result in HTTP Request Smuggling. 2023-09-02 CVE-2022-35256 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Medium 6.5 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 A privilege escalation vulnerability exists in Node.js <19.6.1, <18.14.1, <16.19.1 and <14.21.3 that made it possible to bypass the experimental Permissions (https://nodejs.org/api/permissions.html) feature in Node.js and access non authorized modules by using process.mainModule.require(). This only affects users who had enabled the experimental permissions option with --experimental-policy. 2023-09-02 CVE-2023-23918 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 7.5 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 An untrusted search path vulnerability exists in Node.js. <19.6.1, <18.14.1, <16.19.1, and <14.21.3 that could allow an attacker to search and potentially load ICU data when running with elevated privileges. 2023-09-02 CVE-2023-23920 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Medium 4.2 AV:L/AC:L/PR:H/UI:R/S:U/C:N/I:H/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The use of proto in process.mainModule.proto.require() can bypass the policy mechanism and require modules outside of the policy.json definition.References:https://nodejs.org/en/blog/vulnerability/june-2023-security-releases 2023-09-02 CVE-2023-30581 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 7.5 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The llhttp parser in the http module in Node v20.2.0 does not strictly use the CRLF sequence to delimit HTTP requests. This can lead to HTTP Request Smuggling (HRS).The CR character (without LF) is sufficient to delimit HTTP header fields in the llhttp parser. According to RFC7230 section 3, only the CRLF sequence should delimit each header-field. This impacts all Node.js active versions: v16, v18, and, v20 2023-09-02 CVE-2023-30589 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 7.5 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The generateKeys() API function returned from crypto.createDiffieHellman() only generates missing (or outdated) keys, that is, it only generates a private key if none has been set yet.References:https://nodejs.org/en/blog/vulnerability/june-2023-security-releases 2023-09-02 CVE-2023-30590 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Medium 5.3 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The use of `Module._load()` can bypass the policy mechanism and require modules outside of the policy.json definition for a given module.This vulnerability affects all users using the experimental policy mechanism in all active release lines: 16.x, 18.x and, 20.x.Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js. 2023-09-02 CVE-2023-32002 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 Critical 9.8 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 The use of `module.constructor.createRequire()` can bypass the policy mechanism and require modules outside of the policy.json definition for a given module.This vulnerability affects all users using the experimental policy mechanism in all active release lines: 16.x, 18.x, and, 20.x.Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js. 2023-09-02 CVE-2023-32006 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 8.8 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551 A privilege escalation vulnerability exists in the experimental policy mechanism in all active release lines: 16.x, 18.x and, 20.x. The use of the deprecated API `process.binding()` can bypass the policy mechanism by requiring internal modules and eventually take advantage of `process.binding( spawn_sync )` run arbitrary code, outside of the limits defined in a `policy.json` file. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js. 2023-09-02 CVE-2023-32559 openEuler-20.03-LTS-SP1 openEuler-20.03-LTS-SP3 openEuler-22.03-LTS openEuler-22.03-LTS-SP1 openEuler-22.03-LTS-SP2 High 7.5 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H nodejs security update 2023-09-02 https://www.openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1551