Description
An issue was discovered in Pillow before 8.2.0. For EPS data, the readline implementation used in EPSImageFile has to deal with any combination of \r and \n as line endings. It used an accidentally quadratic method of accumulating lines while looking for a line ending. A malicious EPS file could use this to perform a DoS of Pillow in the open phase, before an image was accepted for opening.
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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | pillow | 8.1.2+dfsg-0.2 | — |
| Debian 13 | pillow | 8.1.2+dfsg-0.2 | — |
| Debian 12 | pillow | 8.1.2+dfsg-0.2 | — |
| Debian 9 | pillow | 4.0.0-4+deb9u3 | DLA-2716-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | pillow | 7.0.0-4ubuntu0.4 | USN-4963-1 |
| Ubuntu 18.04 LTS | pillow | 5.1.0-1ubuntu0.6 | USN-4963-1 |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | pillow-python2 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | pillow | 3.1.2-0ubuntu1.6+esm3 | — |
| Ubuntu Pro 14.04 LTS | pillow | 2.3.0-1ubuntu3.4+esm5 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 8 | python-pillow +1 | 5.1.1-16.el8 | RHSA-2021:4149 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 8 | python3-pillow | 5.1.1-16.el8 | ALSA-2021:4149 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 8 | python-pillow | 5.1.1-16.el8 | RLSA-2021:4149 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE OpenStack Cloud Crowbar 9 | python-Pillow | 5.2.0-3.8.1 | SUSE-SU-2021:1938-1 |
| SUSE OpenStack Cloud Crowbar 8 | python-Pillow | 4.2.1-3.14.1 | SUSE-SU-2021:1939-1 |
| SUSE OpenStack Cloud 9 | python-Pillow | 5.2.0-3.8.1 | SUSE-SU-2021:1938-1 |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE OpenStack Cloud 8 | python-Pillow | 4.2.1-3.14.1 | SUSE-SU-2021:1939-1 |
| SUSE OpenStack Cloud 7 | python-Pillow | 2.8.1-4.22.1 | SUSE-SU-2021:1940-1 |
| SUSE HPE Helion OpenStack 8 | python-Pillow | 4.2.1-3.14.1 | SUSE-SU-2021:1939-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.5 | python-Pillow | 7.2.0-150300.3.12.1 | SUSE-SU-2024:1607-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.23 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.22 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.21 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.20 | py3-pillow | 8.2.0-r0 | — |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.18 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.17 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.16 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.15 | py3-pillow | 8.2.0-r0 | — |
| Alpine v3.14 | py3-pillow | 8.2.0-r0 | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | python3-pillow +2 | 9.4.0-2.amzn2023.0.1 | ALAS2023-2023-146 |
| Amazon Linux 2 | python-pillow +4 | 2.0.0-23.gitd1c6db8.amzn2.0.4 | ALAS2-2023-2083 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | pillow | < 8.2.0 | 8.2.0 | GHSA-q5hq-fp76-qmrc |
Advisories 12
- ALSA-2021:4149 Moderate: python-pillow security update AlmaLinux Security Advisories · Oct 29, 2026
- WID-SEC-2022-1835 Red Hat Enterprise Linux (python-pillow): Mehrere Schwachstellen BSI CERT-Bund (WID) · Jul 14, 2026
- RHSA-2021:4149 Red Hat Security Advisory: python-pillow security update Red Hat Security Advisories (RHSA) · Jun 29, 2026
- USN-4963-1 pillow vulnerabilities Ubuntu Security Notices (USN) · Apr 27, 2026
- DLA-2716-1 pillow - security update Debian Security (DSA / DLA) · Mar 9, 2026
- RLSA-2021:4149 Moderate: python-pillow security update Rocky Linux Security Advisories · Feb 4, 2026
- SUSE-SU-2021:1939-1 Security update for python-Pillow SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1607-1 Security update for python-Pillow SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2021:1938-1 Security update for python-Pillow SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2021:1940-1 Security update for python-Pillow SUSE / openSUSE Security Updates · Feb 4, 2026
- ALAS2-2023-2083 Important: python-pillow security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Jun 7, 2023
- ALAS2023-2023-146 Important: python-pillow security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 22, 2023
References
- https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-28677-fix-eps-dos-on-open
- https://github.com/python-pillow/Pillow/pull/5377
- FEDORA-2021-77756994ba vendor-advisory
- GLSA-202107-33 vendor-advisory
- [debian-lts-announce] 20210722 [SECURITY] [DLA 2716-1] pillow security update mailing-list