CVE-2014-1933: Pillow - Symlink Attack Vulnerability

pillow Updated 02 Oct 2025

Summary

17/04/2014
Yes i
Moderate
4.0

CVE-2014-1933: The (1) JpegImagePlugin.py and (2) EpsImagePlugin.py scripts in Python Image Library (PIL) 1.1.7 and earlier and Pillow before 2.3.1 uses the names of temporary files on the command line, which makes it easier for local... Affects pillow across 2 version ranges.

< 2.3.1 < 4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7

Fixed in 4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7. How to fix ↓

Also tracked for

The same CVE-2014-1933 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Pillow is a Python Imaging Library (PIL) fork that provides support for opening, manipulating, and saving many different image file formats. It is widely used in Python applications for image processing and manipulation. However, versions 1.1.7 and earlier of PIL and Pillow before 2.3.1 are vulnerable to a symlink attack.

Vulnerability Detail

The vulnerability arises from the usage of temporary file names on the command line by the JpegImagePlugin.py and EpsImagePlugin.py scripts in PIL and Pillow. This flaw allows local users to exploit symlink attacks by listing the processes. By manipulating the temporary file names, an attacker can potentially overwrite or access sensitive files, leading to unauthorized access, data corruption, or other malicious activities.

How To Fix

Latest published version: 13.0.0 as of 22 Oct 2026

pip install --upgrade "pillow==13.0.0"

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7

This is the first release that contains the fix.

pip install --upgrade "pillow==4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

There is no specific workaround provided for this vulnerability. However, users can minimize the risk by ensuring that the affected scripts are not executed with elevated privileges and by restricting access to the temporary file directories.

Conclusion

The vulnerability in Pillow versions 1.1.7 and earlier, and Pillow before 2.3.1, allows local users to conduct symlink attacks. To mitigate this risk, it is recommended to upgrade to Pillow version 2.3.1 or later. For further assistance or support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for pillow →

Share this vulnerability

FAQ

This vulnerability allows local users to conduct symlink attacks, potentially leading to unauthorized access, data corruption, or other malicious activities.

Versions 1.1.7 and earlier of PIL and Pillow before 2.3.1 are affected by this vulnerability.

There are no known public exploits available for this vulnerability at the time of writing.

Yes, the vulnerability has been fixed in Pillow version 2.3.1. Users should update their Pillow installation to this version or later.

Users can minimize the risk by ensuring that the affected scripts are not executed with elevated privileges and by restricting access to the temporary file directories.

Related vulnerabilities

Recent vulnerabilities recorded for pillow.

How To Fix

Latest published version: 13.0.0 as of 22 Oct 2026

pip install --upgrade "pillow==13.0.0"

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7

This is the first release that contains the fix.

pip install --upgrade "pillow==4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback