Cloudanix VulnDB

CVE-2014-9601

None

CVSS

—

EPSS

4.6%

Published

Jan 16, 2015

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in an image-processing library lets attackers crash or slow down programs by sending a specially made picture file.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Low
Patch risk
Low

What it actually does

Improper handling of PNG compressed text chunks allows an attacker-supplied image to trigger massive memory allocation during decompression, resulting in denial of service.

Why it matters to the business

Applications or services that process untrusted PNG images can be forced offline or slowed to unusability, interrupting operations that rely on image handling.

How an attack unfolds

An attacker crafts a PNG containing a compressed text chunk engineered to expand to a very large size on decompression; the malicious image is delivered to any system using an affected Pillow version, which then allocates excessive memory while processing the chunk and crashes or becomes unresponsive.

How to fix it

Upgrade python-pillow to version 2.7.0 or later on all affected systems; where immediate upgrade is not possible, implement input validation or sandboxing to reject or limit processing of untrusted PNG files.

How to confirm the fix worked

Confirm the installed Pillow version is 2.7.0 or newer; test by attempting to process a known-malicious PNG sample and verifying that memory usage remains bounded and no crash occurs.

Typical attack path

  1. Create a PNG image embedding a compressed text chunk that expands dramatically on decompression
  2. Deliver the image to a target application or service that uses Pillow for image processing
  3. Trigger image parsing through normal application workflows such as uploads, thumbnails, or validation
  4. Observe resource exhaustion leading to denial of service

How to detect it

Review application logs for PNG parsing errors accompanied by sudden memory spikes or process terminations; correlate with web or file-upload access logs showing unexpected PNG files.

What your security team should do

  • Prioritize upgrade of Pillow to 2.7.0+ across all environments handling user-supplied images
  • Add pre-processing filters or size limits on PNG text chunks in image pipelines until patches are applied
  • Monitor resource usage metrics for image-processing services to detect anomalous memory spikes
  • Review and deprecate any remaining dependencies on Pillow versions older than 2.7.0

The record

Pillow before 2.7.0 allows remote attackers to cause a denial of service via a compressed text chunk in a PNG image that has a large size when it is decompressed.

Affected packages

Ecosystem Package Introduced Fixed
PyPI pillow 0 2.7.0
Debian:11 pillow 0 2.6.1-2
Debian:12 pillow 0 2.6.1-2
Debian:13 pillow 0 2.6.1-2
Mageia:4 python-pillow 0 2.6.2-1.1.mga4
Ubuntu:14.04:LTS pillow 0 2.3.0-1ubuntu3.4
Ubuntu:14.04:LTS pillow 0 2.3.0-1ubuntu3.2
Ubuntu:14.04:LTS pillow 0 2.3.0-1ubuntu3.3
Ubuntu:16.04:LTS pillow 0 3.1.2-0ubuntu1.1

Related vulnerabilities