<?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 harfbuzz 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-2026-1149</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2026-01-16</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2026-01-16</InitialReleaseDate>
		<CurrentReleaseDate>2026-01-16</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2026-01-16</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">harfbuzz security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for harfbuzz is now available for openEuler-24.03-LTS-SP1</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">HarfBuzz is a text-shaping engine. If you give HarfBuzz a font and a string containing a sequence of Unicode codepoints, HarfBuzz selects and positions the corresponding glyphs from the font, applying all of the necessary layout rules and font features. HarfBuzz then returns the string to you in the form that is correctly arranged for the language and writing system.

Security Fix(es):

HarfBuzz is a text shaping engine. Prior to version 12.3.0, a null pointer dereference vulnerability exists in the SubtableUnicodesCache::create function located in src/hb-ot-cmap-table.hh. The function fails to check if hb_malloc returns NULL before using placement new to construct an object at the returned pointer address. When hb_malloc fails to allocate memory (which can occur in low-memory conditions or when using custom allocators that simulate allocation failures), it returns NULL. The code then attempts to call the constructor on this null pointer using placement new syntax, resulting in undefined behavior and a Segmentation Fault. This issue has been patched in version 12.3.0.(CVE-2026-22693)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for harfbuzz is now available for openEuler-24.03-LTS-SP1.

openEuler Security has rated this update as having a security impact of medium. 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">Medium</Note>
		<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">harfbuzz</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-1149</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-22693</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-22693</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="noarch">
			<FullProductName ProductID="harfbuzz-help-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-help-8.3.0-4.oe2403sp1.noarch.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="harfbuzz-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-8.3.0-4.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="harfbuzz-debuginfo-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-debuginfo-8.3.0-4.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="harfbuzz-debugsource-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-debugsource-8.3.0-4.oe2403sp1.aarch64.rpm</FullProductName>
			<FullProductName ProductID="harfbuzz-devel-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-devel-8.3.0-4.oe2403sp1.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="harfbuzz-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-8.3.0-4.oe2403sp1.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="harfbuzz-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-8.3.0-4.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="harfbuzz-debuginfo-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-debuginfo-8.3.0-4.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="harfbuzz-debugsource-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-debugsource-8.3.0-4.oe2403sp1.x86_64.rpm</FullProductName>
			<FullProductName ProductID="harfbuzz-devel-8.3.0-4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP1">harfbuzz-devel-8.3.0-4.oe2403sp1.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">HarfBuzz is a text shaping engine. Prior to version 12.3.0, a null pointer dereference vulnerability exists in the SubtableUnicodesCache::create function located in src/hb-ot-cmap-table.hh. The function fails to check if hb_malloc returns NULL before using placement new to construct an object at the returned pointer address. When hb_malloc fails to allocate memory (which can occur in low-memory conditions or when using custom allocators that simulate allocation failures), it returns NULL. The code then attempts to call the constructor on this null pointer using placement new syntax, resulting in undefined behavior and a Segmentation Fault. This issue has been patched in version 12.3.0.</Note>
		</Notes>
		<ReleaseDate>2026-01-16</ReleaseDate>
		<CVE>CVE-2026-22693</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP1</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Medium</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>5.3</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>harfbuzz security update</Description>
				<DATE>2026-01-16</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-1149</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>