<?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-24.03-LTS-SP1</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-2025-1534</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2025-05-23</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2025-05-23</InitialReleaseDate>
		<CurrentReleaseDate>2025-05-23</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2025-05-23</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-24.03-LTS-SP1</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">Node.js is a platform built on Chrome&amp;apos;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):

In Node.js, the `ReadFileUtf8` internal binding leaks memory due to a corrupted pointer in `uv_fs_s.file`: a UTF-16 path buffer is allocated but subsequently overwritten when the file descriptor is set. This results in an unrecoverable memory leak on every call. Repeated use can cause unbounded memory growth, leading to a denial of service.

Impact:
* This vulnerability affects APIs relying on `ReadFileUtf8` on Node.js release lines: v20 and v22.(CVE-2025-23165)

The C++ method SignTraits::DeriveBits() may incorrectly call ThrowException() based on user-supplied inputs when executing in a background thread, crashing the Node.js process. Such cryptographic operations are commonly applied to untrusted inputs. Thus, this mechanism potentially allows an adversary to remotely crash a Node.js runtime.(CVE-2025-23166)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for nodejs is now available for openEuler-24.03-LTS-SP1.

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-2025-1534</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2025-23165</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2025-23166</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2025-23165</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2025-23166</URL>
		</Reference>
	</DocumentReferences>
	<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
		<Branch Type="Product Name" Name="openEuler">
			<FullProductName ProductID="openEuler-24.03-LTS-SP1" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">openEuler-24.03-LTS-SP1</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="nodejs-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-20.18.2-3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debuginfo-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-debuginfo-20.18.2-3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debugsource-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-debugsource-20.18.2-3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-devel-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-devel-20.18.2-3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-full-i18n-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-full-i18n-20.18.2-3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-libs-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-libs-20.18.2-3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="npm-10.8.2-1.20.18.2.3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">npm-10.8.2-1.20.18.2.3.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="v8-devel-11.3.244.8-1.20.18.2.3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">v8-devel-11.3.244.8-1.20.18.2.3.oe2403sp1.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="nodejs-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-20.18.2-3.oe2403sp1.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="nodejs-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-20.18.2-3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debuginfo-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-debuginfo-20.18.2-3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-debugsource-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-debugsource-20.18.2-3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-devel-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-devel-20.18.2-3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-full-i18n-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-full-i18n-20.18.2-3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="nodejs-libs-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-libs-20.18.2-3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="npm-10.8.2-1.20.18.2.3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">npm-10.8.2-1.20.18.2.3.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="v8-devel-11.3.244.8-1.20.18.2.3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">v8-devel-11.3.244.8-1.20.18.2.3.oe2403sp1.x86_64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="noarch">
			<FullProductName ProductID="nodejs-docs-20.18.2-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">nodejs-docs-20.18.2-3.oe2403sp1.noarch.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">In Node.js, the `ReadFileUtf8` internal binding leaks memory due to a corrupted pointer in `uv_fs_s.file`: a UTF-16 path buffer is allocated but subsequently overwritten when the file descriptor is set. This results in an unrecoverable memory leak on every call. Repeated use can cause unbounded memory growth, leading to a denial of service.

Impact:
* This vulnerability affects APIs relying on `ReadFileUtf8` on Node.js release lines: v20 and v22.</Note>
		</Notes>
		<ReleaseDate>2025-05-23</ReleaseDate>
		<CVE>CVE-2025-23165</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Low</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>3.7</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>nodejs security update</Description>
				<DATE>2025-05-23</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2025-1534</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">The C++ method SignTraits::DeriveBits() may incorrectly call ThrowException() based on user-supplied inputs when executing in a background thread, crashing the Node.js process. Such cryptographic operations are commonly applied to untrusted inputs. Thus, this mechanism potentially allows an adversary to remotely crash a Node.js runtime.</Note>
		</Notes>
		<ReleaseDate>2025-05-23</ReleaseDate>
		<CVE>CVE-2025-23166</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</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>2025-05-23</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2025-1534</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>