<?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 python-pillow is now available for openEuler-24.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-2026-4740</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2026-11-11</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2026-11-11</InitialReleaseDate>
		<CurrentReleaseDate>2026-11-11</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2026-11-11</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">python-pillow security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for python-pillow is now available for openEuler-24.03-LTS-SP4</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \ Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.    of CVE-2022-22815,CVE-2022-22816)

Security Fix(es):

Pillow is a Python imaging library. From 9.1.0 until 13.0.0, Pillow can disclose uninitialized stack memory when Image.quantize() uses an empty palette. ImagingPaletteCacheUpdate() leaves a local cache array uninitialized when the palette has zero entries, and the conversion path emits those bytes as output pixel indices. An attacker who controls the palette image can obtain stack contents from a returned PNG or GIF. This can disclose addresses and stack-canary data without an out-of-bounds access, memory corruption, or process crash. This issue is fixed in version 13.0.0.(CVE-2026-112898)

Pillow is a Python imaging library. From 9.1.0 until 13.0.0, BmpRleDecoder.decode() in src/PIL/BmpImagePlugin.py permits crafted RLE BMP delta escapes and absolute-mode runs to append beyond the remaining dest_length without a per-branch cap. A delta can add roughly 255 image rows in one iteration, so a kilobyte-sized file with a large but permitted width can expand the data bytearray to hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.(CVE-2026-96638)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for python-pillow is now available for master/openEuler-24.03-LTS-Next/openEuler-24.03-LTS-SP1/openEuler-24.03-LTS-SP3/openEuler-24.03-LTS-SP4.

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">python-pillow</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4740</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-112898</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-96638</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-112898</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-96638</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-SP4" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">openEuler-24.03-LTS-SP4</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="noarch">
			<FullProductName ProductID="python3-pillow-help-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-help-10.3.0-15.oe2403sp4.noarch.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="python-pillow-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python-pillow-10.3.0-15.oe2403sp4.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="python-pillow-debuginfo-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python-pillow-debuginfo-10.3.0-15.oe2403sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="python-pillow-debugsource-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python-pillow-debugsource-10.3.0-15.oe2403sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-10.3.0-15.oe2403sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-devel-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-devel-10.3.0-15.oe2403sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-qt-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-qt-10.3.0-15.oe2403sp4.aarch64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-tk-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-tk-10.3.0-15.oe2403sp4.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="python-pillow-debuginfo-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python-pillow-debuginfo-10.3.0-15.oe2403sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="python-pillow-debugsource-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python-pillow-debugsource-10.3.0-15.oe2403sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-10.3.0-15.oe2403sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-devel-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-devel-10.3.0-15.oe2403sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-qt-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-qt-10.3.0-15.oe2403sp4.x86_64.rpm</FullProductName>
			<FullProductName ProductID="python3-pillow-tk-10.3.0-15" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP4">python3-pillow-tk-10.3.0-15.oe2403sp4.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">Pillow is a Python imaging library. From 9.1.0 until 13.0.0, Pillow can disclose uninitialized stack memory when Image.quantize() uses an empty palette. ImagingPaletteCacheUpdate() leaves a local cache array uninitialized when the palette has zero entries, and the conversion path emits those bytes as output pixel indices. An attacker who controls the palette image can obtain stack contents from a returned PNG or GIF. This can disclose addresses and stack-canary data without an out-of-bounds access, memory corruption, or process crash. This issue is fixed in version 13.0.0.</Note>
		</Notes>
		<ReleaseDate>2026-11-11</ReleaseDate>
		<CVE>CVE-2026-112898</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP4</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:L/I:N/A:N</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>python-pillow security update</Description>
				<DATE>2026-11-11</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4740</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">Pillow is a Python imaging library. From 9.1.0 until 13.0.0, BmpRleDecoder.decode() in src/PIL/BmpImagePlugin.py permits crafted RLE BMP delta escapes and absolute-mode runs to append beyond the remaining dest_length without a per-branch cap. A delta can add roughly 255 image rows in one iteration, so a kilobyte-sized file with a large but permitted width can expand the data bytearray to hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.</Note>
		</Notes>
		<ReleaseDate>2026-11-11</ReleaseDate>
		<CVE>CVE-2026-96638</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.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>python-pillow security update</Description>
				<DATE>2026-11-11</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-4740</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>