Fix guides / Security notices

Security notice

Python site that takes image uploads? Flaws in the Pillow image library can let a crafted file run code on your server. Upgrade now.

Last updated: Sunday, October 25, 2026, 8:12 AM ETStatus: Fix released. No attacks reported. Upgrade now.

On October 16, 2026, the team behind Pillow, the most widely used image library for Python, released version 13.0.0, a large security release. It fixes flaws that researchers showed can let a single crafted image, or a file name chosen by an attacker, run commands on the server that opens it. Pillow sits behind upload forms, avatars, thumbnails and document pipelines on many Python websites, and security firm OX Security estimates it is downloaded about 436 million times a month. None of the flaws is known to be under attack. If your website or web app is built with Python and accepts images or documents, ask your developer today whether it runs Pillow 13.0.0.

What happened

Who should worry

Any server that opens images or documents from the public with an older Pillow. A crafted file that runs code on your server can let an attacker read your data, change your site or plant code that hides from you.

What to do now

Do these today.

  1. Ask the question. Send the message below to your developer, agency or host. You need a clear yes or no: does our site or app use Pillow, and is every copy on 13.0.0 or newer?
  2. Upgrade to Pillow 13.0.0. It fixes all of the flaws above. Rebuild any containers, wheels or base images that bundle an older copy. (The Hacker News, Pillow release notes)
  3. Check your Python version. Pillow 13 drops Python 3.10, so sites still on 3.10 also need Python 3.11 or newer. (Pillow release notes, The Hacker News)
  4. Until you can upgrade, close the known paths. See Technical steps. (The Hacker News)
  5. If the answer is "I don't know", that is not a no. Ask them to check.

What to send your developer, agency or host

Pillow 13.0.0 (released October 16, 2026) fixes dozens of security flaws, including CVE-2026-96639 (critical, CVSS 9.8, stale image storage, Pillow 11.0.0 to 12.3.0), CVE-2026-112398 and CVE-2026-112403 (JPEG decoder overflows; the FlashPix one ran a command from a single Image.open() when olefile is installed), CVE-2026-112900 (EPS file name injection into Ghostscript, Pillow 2.6.0 to 12.3.0) and CVE-2026-112393 (TIFF overflow when saving to io.BytesIO). No attacks have been reported. Please confirm today whether our site or app uses Pillow anywhere, including inside containers and base images, and that every copy is on 13.0.0 or newer (pip install -U "Pillow>=13.0.0"; needs Python 3.11 or newer). Sources: Pillow 13.0.0 release notes, The Hacker News.

Technical steps

Step 1. Check your Pillow and Python versions

python -m pip show Pillow
python --version

Run these in the same environment your site uses, and inside each container image. Anything below 13.0.0 needs the upgrade.

Step 2. Upgrade and rebuild

pip install -U "Pillow>=13.0.0"

Pin Pillow>=13.0.0 in your requirements or lock file, then rebuild and redeploy containers, wheels and base images that bundle an older copy. Pillow 13 needs Python 3.11 or newer. (The Hacker News, Pillow release notes)

Step 3. Until you can upgrade

The Hacker News, citing Pillow's security guidance and the advisories, lists steps that cut each path:

(The Hacker News, CVE-2026-112403)

These steps do not cover every flaw, including the critical CVE-2026-96639. Upgrading is the fix.

Common questions

Has my business been hacked?

This notice does not mean your business has been hacked. None of these flaws is known to be under attack. It means serious flaws have a fix, and servers running older Pillow are exposed until it is installed. (The Hacker News)

Can EverThread tell me if I am affected?

No. EverThread checks your website from the outside, the way a browser sees it. We do not test for these Pillow flaws, and our scan cannot see which Python libraries or versions your site runs. Your developer or host can check that. Our free scan looks at your home page from the outside for other common problems, such as an expired padlock certificate, missing browser safety settings and files that should not be public.

One score says 9.2 and Pillow says medium. Which is right?

Both describe the same file name flaw. GitHub's 9.2 measures how bad it is when an attacker can set the file name. Pillow's maintainers rate it medium because that is a precondition. If your site keeps or builds file names from what users send and has Ghostscript installed, treat it as serious. Either way, the fix is the same: upgrade. (Pillow release notes, CVE record, The Hacker News)

Where can I follow official updates?

Pillow's 13.0.0 release notes list every fix with its advisory. The official CVE records are at CVE-2026-96639, CVE-2026-112398, CVE-2026-112403, CVE-2026-112900 and CVE-2026-112393.

Security alerts by email

Hear about the next one first.

When a flaw puts websites at risk, we send one plain-English email: what happened, who it affects and what to do. It's free, whether or not you use EverThread.

We email you a link to confirm first, and every alert has a one-click unsubscribe. Alerts can include a short note about EverThread. Already a customer? Use your account email and your alerts include a link to your dashboard. Privacy

Sources

While you are here

Check your site's other basics free. We look at your home page the way a browser does and tell you in plain English. This scan does not test for the Pillow flaws above or check which Python libraries your site uses. No account.

Or sign up free and we check it every day and email you when something changes.