CVE-2021-28677 Uncontrolled Resource Consumption in Pillow

High 7.5 Published Updated

A malicious EPS file can cause a denial of service in Pillow due to inefficient line reading logic during the image opening phase.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2021-28677?

CVE-2021-28677 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 2 Jun 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Which versions are affected by CVE-2021-28677?

4 open source packages ship an affected version, including pillow. It affects 2 products.

PackageAffectedFixed in
pillow BitnamiAll versions8.2.0
pillow PyPIAll versions8.2.0
pillow PyPIAll versions8.2.0
pillow PyPIAll versions8.2.0

Products include Fedoraproject Fedora, Python Pillow.

How do I fix CVE-2021-28677?

Upgrade pillow to 8.2.0 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2021-28677 being exploited?

There is no known exploitation of CVE-2021-28677 in the wild and no public exploit code.

All Fedoraproject Fedora vulnerabilities

Sources

Also known as ALPINE-CVE-2021-28677, BIT-pillow-2021-28677, DEBIAN-CVE-2021-28677, GHSA-q5hq-fp76-qmrc, PYSEC-2021-93, ROOT-APP-PYPI-CVE-2021-28677 and 1 more.

Is CVE-2021-28677 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free