NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐍
🐍 PyPI
Not in CISA KEV
CRITICAL severity

CVE-2020-5311 — pillow

CRITICALFix: python-pillow/Pillow@a79b65c

CVE-2020-5311 is a critical-severity (CVSS 9.8) CWE-120 vulnerability in pillow. A fix is available for pillow — see the affected versions and patch details below.

Buffer Copy without Checking Size of Input in Pillow

Also known asBIT-pillow-2020-5311GHSA-r7rm-8j6h-r933PYSEC-2020-82
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Nov 8, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

EPSS Exploitation Probability

via FIRST.org ↗
4.0%probability of exploitation in next 30 days
Lower Risk-0.16%
Lower risk than most CVEs91th percentile — riskier than 91% of all scored CVEsHighest risk
0.23%1.86%3.50%5.13%1.3%4.0%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

How urgent is this, really

Where this sits among everything scored

Real-World Exposure

1 pkg affected
🐍pillow

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

Description

libImaging/SgiRleDecode.c in Pillow before 6.2.2 has an SGI buffer overflow.

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐍PyPIpillowall versions6.2.2pip install --upgrade 'pillow==6.2.2'

Affected Products

4 products · 7 configurations
OS
ubuntu linuxcanonical
2 versions
18.0419.10
OS
debian linuxdebian
2 versions
9.010.0
OS
fedorafedoraproject
2 versions
3031
Application
pillowpython
< 6.2.2
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for pillow, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update pillow to 6.2.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2020-5311 is resolved across your whole dependency graph.

  3. Workarounds

    Stop feeding it untrusted input: reject or quarantine files and payloads from unverified sources until you can upgrade, restrict accepted formats to the ones you actually need, and run the parsing or decoding step in a least-privileged sandbox or short-lived worker so a crash or corrupted read cannot reach the rest of the process.

Fixing This On Your OS

If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.

Red HatImportant

This issue did not affect the versions of python-pillow and python-imaging as shipped with Red Hat Enterprise Linux 6, and 7 as they did not include the SGI RLE image decoder, where the flaw lies.

ProductFixed inAdvisory
Red Hat Enterprise Linux 8python-pillow-0:5.1.1-10.el8_1RHSA-2020:0580
Red Hat Enterprise Linux 8.0 Update Services for SAP Solutionspython-pillow-0:5.1.1-10.el8_0RHSA-2020:0566
Red Hat Quay 3quay/clair-rhel8:v3.4.0-25RHSA-2021:0420

Frequently Asked Questions

libImaging/SgiRleDecode.c in Pillow before 6.2.2 has an SGI buffer overflow.
O3 Security · Impact-Aware SCA

Is CVE-2020-5311 in your dependencies?

Find it across PyPI, including transitive dependencies.

CVE-2020-5311: pillow Memory Corruption — Fixed in 6.2.2