<?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 perl-Cpanel-JSON-XS is now available for openEuler-24.03-LTS-SP3</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-2589</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2026-06-05</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2026-06-05</InitialReleaseDate>
		<CurrentReleaseDate>2026-06-05</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2026-06-05</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">perl-Cpanel-JSON-XS security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for perl-Cpanel-JSON-XS is now available for openEuler-24.03-LTS-SP3</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">This module converts Perl data structures to JSON and vice versa. Its primary goal is to be correct and its secondary goal is to be fast. To reach the latter goal it was written in C.

Security Fix(es):

Cpanel::JSON::XS versions before 4.41 for Perl allow type confusion via duplicate object keys when dupkeys_as_arrayref is enabled.

decode_hv() collapses duplicate object keys into an array reference under dupkeys_as_arrayref. The branch reached for a duplicate key tests `SvTYPE (old_value) != SVt_RV &amp;&amp; SvTYPE (SvRV (old_value)) != SVt_PVAV`, which evaluates SvRV(old_value) before establishing that old_value is a reference. When the existing value is a plain scalar rather than an array reference, a non-reference scalar is dereferenced as a reference.

A caller decoding untrusted JSON with dupkeys_as_arrayref enabled is crashed, and the incompatible access follows a pointer taken from attacker controlled scalar contents.(CVE-2026-9334)

Cpanel::JSON::XS versions before 4.41 for Perl allow denial of service via UTF-8 BOM prefixed input when a decode filter callback throws.

To skip a leading 3-byte UTF-8 BOM, decode_json() advances the input scalar&apos;s string pointer past the mark with SvPV_set() and restores it only on the normal return path. When decoding aborts through a Perl exception, for example a filter_json_object callback that croaks, the restore is skipped and the scalar is left with its string pointer offset into its own buffer and a shortened length.

When that scalar is later freed, the allocator receives an invalid pointer and the interpreter aborts. A single BOM prefixed document decoded with a throwing filter callback crashes any caller.(CVE-2026-9516)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for perl-Cpanel-JSON-XS is now available for openEuler-24.03-LTS-SP3.

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.</Note>
		<Note Title="Severity" Type="General" Ordinal="5" xml:lang="en">Critical</Note>
		<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">perl-Cpanel-JSON-XS</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2589</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-9334</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-9516</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-9334</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-9516</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-SP3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">openEuler-24.03-LTS-SP3</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="perl-Cpanel-JSON-XS-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-4.37-3.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="perl-Cpanel-JSON-XS-debuginfo-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-debuginfo-4.37-3.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="perl-Cpanel-JSON-XS-debugsource-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-debugsource-4.37-3.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="perl-Cpanel-JSON-XS-help-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-help-4.37-3.oe2403sp3.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="perl-Cpanel-JSON-XS-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-4.37-3.oe2403sp3.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="perl-Cpanel-JSON-XS-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-4.37-3.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="perl-Cpanel-JSON-XS-debuginfo-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-debuginfo-4.37-3.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="perl-Cpanel-JSON-XS-debugsource-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-debugsource-4.37-3.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="perl-Cpanel-JSON-XS-help-4.37-3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3" EPOL="true">perl-Cpanel-JSON-XS-help-4.37-3.oe2403sp3.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">Cpanel::JSON::XS versions before 4.41 for Perl allow type confusion via duplicate object keys when dupkeys_as_arrayref is enabled.

decode_hv() collapses duplicate object keys into an array reference under dupkeys_as_arrayref. The branch reached for a duplicate key tests `SvTYPE (old_value) != SVt_RV &amp;&amp; SvTYPE (SvRV (old_value)) != SVt_PVAV`, which evaluates SvRV(old_value) before establishing that old_value is a reference. When the existing value is a plain scalar rather than an array reference, a non-reference scalar is dereferenced as a reference.

A caller decoding untrusted JSON with dupkeys_as_arrayref enabled is crashed, and the incompatible access follows a pointer taken from attacker controlled scalar contents.</Note>
		</Notes>
		<ReleaseDate>2026-06-05</ReleaseDate>
		<CVE>CVE-2026-9334</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Critical</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>9.8</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>perl-Cpanel-JSON-XS security update</Description>
				<DATE>2026-06-05</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2589</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">Cpanel::JSON::XS versions before 4.41 for Perl allow denial of service via UTF-8 BOM prefixed input when a decode filter callback throws.

To skip a leading 3-byte UTF-8 BOM, decode_json() advances the input scalar&apos;s string pointer past the mark with SvPV_set() and restores it only on the normal return path. When decoding aborts through a Perl exception, for example a filter_json_object callback that croaks, the restore is skipped and the scalar is left with its string pointer offset into its own buffer and a shortened length.

When that scalar is later freed, the allocator receives an invalid pointer and the interpreter aborts. A single BOM prefixed document decoded with a throwing filter callback crashes any caller.</Note>
		</Notes>
		<ReleaseDate>2026-06-05</ReleaseDate>
		<CVE>CVE-2026-9516</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>Medium</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>6.5</BaseScore>
				<Vector>AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>perl-Cpanel-JSON-XS security update</Description>
				<DATE>2026-06-05</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2589</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>