Skip to content
OpenAdvisories
High · 8.2 CVE-2026-96640 BIT-pillow-2026-96640EUVD-2026-107570GHSA-mrfp-p49p-3hf2

Pillow PDF append accepts malformed shared page-tree DAG causing resource exhaustion

Published Oct 21, 2026 · Updated Oct 28, 2026 · Assigned by GitHub_M

Description

Pillow is a Python imaging library. From 5.1.0 until 13.0.0, PdfParser.linearize_page_tree() in src/PIL/PdfParser.py treats a PDF /Pages graph as a tree without tracking duplicate indirect references. When Image.save(..., format="PDF", append=True) processes an attacker-controlled existing PDF whose /Kids arrays repeatedly reference the same child /Pages node, Pillow expands the shared subtree as distinct pages. A compact malformed PDF can therefore create exponentially many page references and consume disproportionate CPU before the append completes. This issue is fixed in version 13.0.0.

Affected products

VendorProductAffectedFixed
python-pillow Pillow >= 5.1.0, < 13.0.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 pillow No fix yet —
Debian 13 pillow No fix yet —
Debian 12 pillow No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 pillow 12.3.0-1ubuntu2 USN-9064-1
Ubuntu 26.04 LTS pillow 12.1.1-2ubuntu1.5 USN-9064-1
Ubuntu 24.04 LTS pillow 10.2.0-1ubuntu1.5 USN-9064-1
Ubuntu 22.04 LTS pillow 9.0.1-1ubuntu0.7 USN-9064-1
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 20.04 LTS pillow 7.0.0-4ubuntu0.9+esm2 USN-9064-1
Ubuntu Pro 20.04 LTS pillow-python2 No fix yet —
Ubuntu Pro 18.04 LTS pillow 5.1.0-1ubuntu0.8+esm3 USN-9064-1
Ubuntu Pro 16.04 LTS pillow 3.1.2-0ubuntu1.6+esm4 USN-9064-1
Ubuntu Pro 14.04 LTS pillow 2.3.0-1ubuntu3.4+esm6 USN-9064-1

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 8 python3-pillow +3 5.1.1-33.el8_10 ALSA-2026:92639

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 python-pillow 5.1.1-33.el8_10 RLSA-2026:92639
ReleasePackageFixed inAdvisory
SLES 15 SP7 python-Pillow 7.2.0-150300.3.33.1 SUSE-SU-2026:5038-1
SLES 15 SP6 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLES 15 SP5 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLES 15 SP4 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLES 3 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 python-Pillow 11.3.0-160000.9.1 SUSE-SU-2026:24656-1
SLES for SAP 15 SP6 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLES for SAP 15 SP5 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLES for SAP 15 SP4 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLES 16.0 python-Pillow 11.3.0-160000.9.1 SUSE-SU-2026:24656-1
SLE HPC 15 SP5 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
SLE HPC 15 SP4 python-Pillow 9.5.0-150400.5.28.1 SUSE-SU-2026:5194-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed python-Pillow 13.0.0-2.1 openSUSE-SU-2026:12251-1
openSUSE Leap 16.0 python-Pillow 11.3.0-160000.9.1 openSUSE-SU-2026:22246-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 python3-pillow +2 9.4.0-2.amzn2023.0.13 ALAS2023-2026-3441

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 8 python3-pillow +3 5.1.1-33.el8_10 ELSA-2026-92639

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling open-webui +1 No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI pillow >= 5.1.0, < 13.0.0 13.0.0 GHSA-mrfp-p49p-3hf2

Advisories 11

References