CVE-2020-10378 Out-of-bounds read in Pillow

Medium 5.5 Published Updated

An out-of-bounds read in Pillow allows attackers to cause denial of service or disclose sensitive memory contents via malicious PCX files.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2020-10378?

CVE-2020-10378 is a medium-severity memory corruption vulnerability in Canonical Ubuntu Linux, published on 25 Jun 2020. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

In libImaging/PcxDecode.c in Pillow before 7.1.0, an out-of-bounds read can occur when reading PCX files where state->shuffle is instructed to read beyond state->buffer.

Weakness: CWE-125

Which versions are affected by CVE-2020-10378?

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

PackageAffectedFixed in
pillow BitnamiAll versions7.1.0
pillow PyPIAll versions7.1.0
pillow PyPIAll versions7.1.0
pillow PyPIAll versions7.1.0

Products include Canonical Ubuntu Linux, Fedoraproject Fedora, Python Pillow.

How do I fix CVE-2020-10378?

Upgrade pillow to 7.1.0 or later.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2020-10378 being exploited?

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

All Canonical Ubuntu Linux vulnerabilities

Sources

Also known as BIT-pillow-2020-10378, DEBIAN-CVE-2020-10378, GHSA-3xv8-3j54-hgrp, PYSEC-2020-77, UBUNTU-CVE-2020-10378.

Is CVE-2020-10378 in your software?

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

Check your SBOMs for free