Description
Pillow is a Python imaging library. From 5.2.0 until 12.3.0, Pillow's TGA RLE encoder reads past its packed row buffer when saving a mode 1 image with TGA RLE compression, allowing adjacent process heap bytes to be copied into the generated TGA file. This issue is fixed in version 12.3.0.
Published: 2026-07-14
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Pillow’s TGA RLE encoder incorrectly reads past the end of its packed row buffer when saving a mode 1 image with RLE compression. The over‑read copies adjacent process heap bytes into the generated TGA file, exposing potentially sensitive data that the process holds in memory. This over‑read is a classic out‑of‑bounds read (CWE-125) and can compromise the confidentiality of image files produced by the library. The vulnerability does not corrupt memory or allow code execution; it simply leaks data that is reachable via the generated image.

Affected Systems

Python-Pillow users should be aware that all releases from 5.2.0 through the last patch-before-12.3.0 are vulnerable. The issue is fixed in Pillow 12.3.0; any installation of Pillow older than that should be upgraded to 12.3.0 the over‑read path.

Risk and Exploitability

The CVSS score of 6.5 indicates a medium impact; the EPSS score of less than 1% suggests that exploitation is currently rare or uncertain, and the vulnerability is not listed in CISA's KEV catalog. Based on the description, it is inferred that the attack vector is local: an application with write access to the file system can produce a malicious image that leaks internal heap contents to any user who can read the file. No elevated privileges or network exposure are required, so the risk is limited to the local or shared storage environment in which the image is eventually accessed.

Generated by OpenCVE AI on July 31, 2026 at 09:58 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Pillow to version 12.3.0 or later, which removes the out‑bounds read in the TGA RLE encoder.
  • If an immediate upgrade is not possible, avoid generating mode 1 TGA images using RLE compression; switch to a different image mode or file format for output.
  • In environments where mode 1 TGA output is required, consider using an alternative imaging library that does not contain this flaw.

Generated by OpenCVE AI on July 31, 2026 at 09:58 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-fj7v-r99m-22gq Pillow TGA RLE encoder can serialize up to ~57 KB of adjacent heap data into generated images
History

Thu, 16 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 14 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 14 Jul 2026 17:45:00 +0000

Type Values Removed Values Added
First Time appeared Python-pillow
Python-pillow pillow
Vendors & Products Python-pillow
Python-pillow pillow

Tue, 14 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Description Pillow is a Python imaging library. From 5.2.0 until 12.3.0, Pillow's TGA RLE encoder reads past its packed row buffer when saving a mode 1 image with TGA RLE compression, allowing adjacent process heap bytes to be copied into the generated TGA file. This issue is fixed in version 12.3.0.
Title Pillow TGA RLE encoder can serialize up to ~57 KB of adjacent heap data into generated images
Weaknesses CWE-125
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L'}


Subscriptions

Python-pillow Pillow
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-14T19:55:56.380Z

Reserved: 2026-07-02T19:53:48.831Z

Link: CVE-2026-59198

cve-icon Vulnrichment

Updated: 2026-07-14T19:44:53.117Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-14T16:07:56Z

Links: CVE-2026-59198 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T10:00:05Z

Weaknesses