CVE-2021-28677 Uncontrolled Resource Consumption in Pillow
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.
| Package | Affected | Fixed in |
|---|---|---|
pillow Bitnami | All versions | 8.2.0 |
pillow PyPI | All versions | 8.2.0 |
pillow PyPI | All versions | 8.2.0 |
pillow PyPI | All versions | 8.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.
Other vulnerabilities in Fedoraproject Fedora
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.