Cloudanix VulnDB

CVE-2014-3589

None

CVSS

—

EPSS

3.4%

Published

Aug 25, 2014

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

Older image-handling software can be crashed by attackers sending specially crafted picture files, interrupting any service that opens or displays images.

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

What it actually does

The flaw in IcnsImagePlugin.py permits remote denial of service when parsing an ICNS image containing a crafted or invalid block size, causing improper input validation that leads to crashes or excessive resource consumption without affecting confidentiality or integrity.

Why it matters to the business

Applications relying on vulnerable Pillow or PIL versions for image handling become susceptible to remote service disruptions, potentially halting operations that depend on image uploads or processing and increasing downtime costs.

How an attack unfolds

An attacker creates a malicious ICNS file embedding an oversized or malformed block size value, then delivers it through any vector that triggers image parsing in the vulnerable library, such as file uploads or web requests, resulting in the application crashing or becoming unresponsive.

How to fix it

Upgrade to Pillow 2.3.2, 2.5.2, or later versions; apply patches from distribution maintainers such as Debian or openSUSE for python-imaging packages; disable ICNS support if unused.

How to confirm the fix worked

Confirm the installed Pillow or PIL version meets or exceeds the fixed releases; test image parsing functionality with known-good ICNS files in a controlled environment after upgrade.

Typical attack path

  1. Locate an application or service that accepts and processes ICNS or image files using vulnerable Pillow/PIL
  2. Craft an ICNS image containing an invalid block size value
  3. Submit the crafted file via upload, API, or other input mechanism
  4. Trigger parsing to induce denial of service

How to detect it

Review application and web server logs for unexpected crashes or high resource usage immediately following image file uploads; inspect upload directories or processing queues for ICNS files with anomalous sizes.

What your security team should do

  • Prioritize immediate upgrade of Pillow and PIL across all affected systems given the long exposure window since 2014
  • Audit image-processing code paths to enforce strict input validation and size limits
  • Implement network or application-level filtering to reject suspicious ICNS files until patched

The record

PIL/IcnsImagePlugin.py in Python Imaging Library (PIL) and Pillow before 2.3.2 and 2.5.x before 2.5.2 allows remote attackers to cause a denial of service via a crafted block size.

Affected packages

Ecosystem Package Introduced Fixed
PyPI pillow 0 2.3.2
PyPI pillow 2.5 2.5.2
Debian:11 pillow 0 2.5.3-1
Debian:12 pillow 0 2.5.3-1
Debian:13 pillow 0 2.5.3-1
Debian:6.0 python-imaging 0 1.1.7-2+deb6u1
Debian:7 python-imaging 0 1.1.7-4+deb7u1
Mageia:3 python-imaging 0 1.1.7-7.2.mga3
Mageia:4 python-pillow 0 2.2.1-0.5.mga4
SUSE:Enterprise Storage 1.0 calamari-clients 0 1.2.2+git.1428648634.40dfe5b-3.1
SUSE:Enterprise Storage 1.0 ceph 0 0.80.9-5.1
SUSE:Enterprise Storage 1.0 ceph-deploy 0 1.5.19+git.1431355031.6178cf3-9.1
SUSE:Enterprise Storage 1.0 python-Pillow 0 2.7.0-4.1
SUSE:Enterprise Storage 1.0 python-djangorestframework 0 2.3.12-4.2
Ubuntu:14.04:LTS pillow 0 2.3.0-1ubuntu3.2
openSUSE:Tumbleweed python-Pillow 0 8.3.2-1.2
openSUSE:Tumbleweed python-Pillow 0 3.4.2-1.1
openSUSE:Tumbleweed python-Pillow 0 3.1.1-4.1
openSUSE:Tumbleweed python-Pillow 0 10.3.0-1.1
pypi PIL 0.0.0 No fix
pypi Pillow 2.3.0 No fix
pypi Pillow 2.5 No fix
pypi Pillow 2.5.0 No fix

Related vulnerabilities