<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
	<DocumentTitle xml:lang="en">An update for nodejs is now available for openEuler-22.03-LTS-SP4</DocumentTitle>
	<DocumentType>Security Advisory</DocumentType>
	<DocumentPublisher Type="Vendor">
		<ContactDetails>openeuler-security@openeuler.org</ContactDetails>
		<IssuingAuthority>openEuler security committee</IssuingAuthority>
	</DocumentPublisher>
	<DocumentTracking>
		<Identification>
			<ID>openEuler-SA-2024-2175</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2024-09-27</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2024-09-27</InitialReleaseDate>
		<CurrentReleaseDate>2024-09-27</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2024-09-27</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">nodejs security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for nodejs is now available for openEuler-22.03-LTS-SP4</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">Node.js is an open-source, cross-platform, JavaScript runtime environment, it executes JavaScript code outside of a browser.

Security Fix(es):

Node.js versions which bundle an unpatched version of OpenSSL or run against a dynamically linked version of OpenSSL which are unpatched are vulnerable to the Marvin Attack - https://people.redhat.com/~hkario/marvin/, if PCKS #1 v1.5 padding is allowed when performing RSA descryption using a private key.(CVE-2023-46809)

A vulnerability in Node.js HTTP servers allows an attacker to send a specially crafted HTTP request with chunked encoding, leading to resource exhaustion and denial of service (DoS). The server reads an unbounded number of bytes from a single connection, exploiting the lack of limitations on chunk extension bytes. The issue can cause CPU and network bandwidth exhaustion, bypassing standard safeguards like timeouts and body size limits.(CVE-2024-22019)

A vulnerability in Node.js has been identified, allowing for a Denial of Service (DoS) attack through resource exhaustion when using the fetch() function to retrieve content from an untrusted URL.
The vulnerability stems from the fact that the fetch() function in Node.js always decodes Brotli, making it possible for an attacker to cause resource exhaustion when fetching content from an untrusted URL.
An attacker controlling the URL passed into fetch() can exploit this vulnerability to exhaust memory, potentially leading to process termination, depending on the system configuration.(CVE-2024-22025)

The team has identified a critical vulnerability in the http server of the most recent version of Node, where malformed headers can lead to HTTP request smuggling. Specifically, if a space is placed before a content-length header, it is not interpreted correctly, enabling attackers to smuggle in a second request within the body of the first.(CVE-2024-27982)

An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition.(CVE-2024-27983)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for nodejs is now available for openEuler-22.03-LTS-SP4.

openEuler Security has rated this update as having a security impact of high. 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.</Note>
		<Note Title="Severity" Type="General" Ordinal="5" xml:lang="en">High</Note>
		<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">nodejs</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-2175</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2023-46809</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-22019</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-22025</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-27982</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2024-27983</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2023-46809</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-22019</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-22025</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-27982</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2024-27983</URL>
		</Reference>
	</DocumentReferences>
	<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
		<Branch Type="Product Name" Name="openEuler">
			<FullProductName ProductID="openEuler-22.03-LTS-SP4" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">openEuler-22.03-LTS-SP4</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="noarch">
			<FullProductName ProductID="nodejs-docs-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-docs-12.22.11-10.oe2203sp4.noarch.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="nodejs-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-12.22.11-10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debuginfo-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-debuginfo-12.22.11-10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debugsource-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-debugsource-12.22.11-10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-devel-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-devel-12.22.11-10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-full-i18n-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-full-i18n-12.22.11-10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-libs-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-libs-12.22.11-10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="npm-6.14.16-1.12.22.11.10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">npm-6.14.16-1.12.22.11.10.oe2203sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="v8-devel-7.8.279.23-1.12.22.11.10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">v8-devel-7.8.279.23-1.12.22.11.10.oe2203sp4.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="nodejs-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-12.22.11-10.oe2203sp4.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="nodejs-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-12.22.11-10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debuginfo-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-debuginfo-12.22.11-10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debugsource-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-debugsource-12.22.11-10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-devel-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-devel-12.22.11-10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-full-i18n-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-full-i18n-12.22.11-10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-libs-12.22.11-10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">nodejs-libs-12.22.11-10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="npm-6.14.16-1.12.22.11.10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">npm-6.14.16-1.12.22.11.10.oe2203sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="v8-devel-7.8.279.23-1.12.22.11.10" CPE="cpe:/a:openEuler:openEuler:22.03-LTS-SP4">v8-devel-7.8.279.23-1.12.22.11.10.oe2203sp4.x86_64.rpm</FullProductName>
		</Branch>
	</ProductTree>
	<Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Node.js versions which bundle an unpatched version of OpenSSL or run against a dynamically linked version of OpenSSL which are unpatched are vulnerable to the Marvin Attack - https://people.redhat.com/~hkario/marvin/, if PCKS #1 v1.5 padding is allowed when performing RSA descryption using a private key.</Note>
		</Notes>
		<ReleaseDate>2024-09-27</ReleaseDate>
		<CVE>CVE-2023-46809</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-22.03-LTS-SP4</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.4</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>nodejs security update</Description>
				<DATE>2024-09-27</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-2175</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="2" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">A vulnerability in Node.js HTTP servers allows an attacker to send a specially crafted HTTP request with chunked encoding, leading to resource exhaustion and denial of service (DoS). The server reads an unbounded number of bytes from a single connection, exploiting the lack of limitations on chunk extension bytes. The issue can cause CPU and network bandwidth exhaustion, bypassing standard safeguards like timeouts and body size limits.</Note>
		</Notes>
		<ReleaseDate>2024-09-27</ReleaseDate>
		<CVE>CVE-2024-22019</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-22.03-LTS-SP4</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>nodejs security update</Description>
				<DATE>2024-09-27</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-2175</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="3" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">A vulnerability in Node.js has been identified, allowing for a Denial of Service (DoS) attack through resource exhaustion when using the fetch() function to retrieve content from an untrusted URL.
The vulnerability stems from the fact that the fetch() function in Node.js always decodes Brotli, making it possible for an attacker to cause resource exhaustion when fetching content from an untrusted URL.
An attacker controlling the URL passed into fetch() can exploit this vulnerability to exhaust memory, potentially leading to process termination, depending on the system configuration.</Note>
		</Notes>
		<ReleaseDate>2024-09-27</ReleaseDate>
		<CVE>CVE-2024-22025</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-22.03-LTS-SP4</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Medium</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>6.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>nodejs security update</Description>
				<DATE>2024-09-27</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-2175</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="4" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">The team has identified a critical vulnerability in the http server of the most recent version of Node, where malformed headers can lead to HTTP request smuggling. Specifically, if a space is placed before a content-length header, it is not interpreted correctly, enabling attackers to smuggle in a second request within the body of the first.</Note>
		</Notes>
		<ReleaseDate>2024-09-27</ReleaseDate>
		<CVE>CVE-2024-27982</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-22.03-LTS-SP4</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Medium</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>6.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>nodejs security update</Description>
				<DATE>2024-09-27</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-2175</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="5" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">An attacker can make the Node.js HTTP/2 server completely unavailable by sending a small amount of HTTP/2 frames packets with a few HTTP/2 frames inside. It is possible to leave some data in nghttp2 memory after reset when headers with HTTP/2 CONTINUATION frame are sent to the server and then a TCP connection is abruptly closed by the client triggering the Http2Session destructor while header frames are still being processed (and stored in memory) causing a race condition.</Note>
		</Notes>
		<ReleaseDate>2024-09-27</ReleaseDate>
		<CVE>CVE-2024-27983</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-22.03-LTS-SP4</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>8.2</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>nodejs security update</Description>
				<DATE>2024-09-27</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2024-2175</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>