Heap-based buffer overflow in the j2k_encode_entry function in Pillow 2.5.0 through 3.1.1…
Priority LOW 30CWE-119Published · Updated
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.0 · NVD. Fix status from CNA and GitHub. Impact type from CWE-119 and the CVSS impact.
Summary
Heap-based buffer overflow in the j2k_encode_entry function in Pillow 2.5.0 through 3.1.1 allows remote attackers to cause a denial of service (memory corruption) via a crafted Jpeg2000 file.
Why it matters now
EPSS 0.02594 85th percentileScored 2026-11-07
Fix Fixed pillow (PyPI): 3.1.2
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | — | all versions | — | No fix listed | CNA |
| — | pillow (PyPI) | 2.5.0 to before 3.1.2 | 3.1.2 | Patch available | GHSA-v9pc-9mvp-x87g |
- — Vendor— Affected all versions Fixed in — No fix listed CNA
- pillow (PyPI) Vendor— Affected 2.5.0 to before 3.1.2 Fixed in 3.1.2 Patch available GHSA-v9pc-9mvp-x87g
CPE configurations NVD · 19
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:pillow:2.5.0:*:*:*:*:*:*:* | 2.5.0 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.5.1:*:*:*:*:*:*:* | 2.5.1 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.5.2:*:*:*:*:*:*:* | 2.5.2 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.5.3:*:*:*:*:*:*:* | 2.5.3 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.6.0:*:*:*:*:*:*:* | 2.6.0 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.6.0:rc1:*:*:*:*:*:* | 2.6.0 rc1 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.6.1:*:*:*:*:*:*:* | 2.6.1 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.6.2:*:*:*:*:*:*:* | 2.6.2 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.7.0:*:*:*:*:*:*:* | 2.7.0 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.8.0:*:*:*:*:*:*:* | 2.8.0 | Vulnerable | python-pillow |
- cpe:2.3:a:python:pillow:2.5.0:*:*:*:*:*:*:* Versions 2.5.0 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.5.1:*:*:*:*:*:*:* Versions 2.5.1 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.5.2:*:*:*:*:*:*:* Versions 2.5.2 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.5.3:*:*:*:*:*:*:* Versions 2.5.3 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.6.0:*:*:*:*:*:*:* Versions 2.6.0 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.6.0:rc1:*:*:*:*:*:* Versions 2.6.0 rc1 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.6.1:*:*:*:*:*:*:* Versions 2.6.1 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.6.2:*:*:*:*:*:*:* Versions 2.6.2 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.7.0:*:*:*:*:*:*:* Versions 2.7.0 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.8.0:*:*:*:*:*:*:* Versions 2.8.0 Vulnerable ·python-pillow
Show 9 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:pillow:2.8.1:*:*:*:*:*:*:* | 2.8.1 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.8.2:*:*:*:*:*:*:* | 2.8.2 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.9.0:*:*:*:*:*:*:* | 2.9.0 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.9.0:dev0:*:*:*:*:*:* | 2.9.0 dev0 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.9.0:dev1:*:*:*:*:*:* | 2.9.0 dev1 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:2.9.0:dev2:*:*:*:*:*:* | 2.9.0 dev2 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:3.0.0:*:*:*:*:*:*:* | 3.0.0 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:3.0.0:rc1:*:*:*:*:*:* | 3.0.0 rc1 | Vulnerable | python-pillow |
| cpe:2.3:a:python:pillow:3.1.0:*:*:*:*:*:*:* | 3.1.0 | Vulnerable | python-pillow |
- cpe:2.3:a:python:pillow:2.8.1:*:*:*:*:*:*:* Versions 2.8.1 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.8.2:*:*:*:*:*:*:* Versions 2.8.2 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.9.0:*:*:*:*:*:*:* Versions 2.9.0 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.9.0:dev0:*:*:*:*:*:* Versions 2.9.0 dev0 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.9.0:dev1:*:*:*:*:*:* Versions 2.9.0 dev1 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:2.9.0:dev2:*:*:*:*:*:* Versions 2.9.0 dev2 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:3.0.0:*:*:*:*:*:*:* Versions 3.0.0 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:3.0.0:rc1:*:*:*:*:*:* Versions 3.0.0 rc1 Vulnerable ·python-pillow
- cpe:2.3:a:python:pillow:3.1.0:*:*:*:*:*:*:* Versions 3.1.0 Vulnerable ·python-pillow
Remediation
- Fix · GHSA-v9pc-9mvp-x87g pillow (PyPI) Fixed in 3.1.2 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 3 products
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-02 Threatist record created from CVE-2016-3076
- 2026-10-03 Alias added: GHSA-v9pc-9mvp-x87g
References
Advisory 3
More python-pillow Pillow vulnerabilities
- TI-2026-76627 Out-of-bounds read in Pillow TIFF encoder ColorMap handling CVSS 4.0HIGH 8.8
- TI-2026-76625 Quadratic-time denial of service in Pillow PDF save_all CVSS 4.0HIGH 8.7
- TI-2026-76605 NULL pointer dereference in Pillow's Image.merge function CVSS 4.0HIGH 8.7
- TI-2026-76604 Out-of-bounds read in Pillow TIFF decoding leaks heap memory CVSS 4.0HIGH 8.8
- TI-2026-76602 Double free in Pillow ImagingScaleAffine on allocation failure CVSS 4.0HIGH 8.7
- TI-2026-76600 GIF seek in Pillow keeps rejected size, allowing denial of service CVSS 4.0HIGH 8.7
Sources
- CVE-2016-3076 · CVE Program
- CVE-2016-3076 · NVD
- FIRST EPSS
- GHSA-v9pc-9mvp-x87g · GitHub Advisory Database · CC BY 4.0
- CVE-2016-3076 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences