CVE-2026-112893: Pillow Package Memory Safety Vulnerability in FreeType Glyph Rendering

pillow Updated 22 Oct 2026

Summary

21/10/2026
Yes i
High
8.2

CVE-2026-112893: Pillow: Invalid free in FreeType glyph rendering when a stroker is active. Affects pillow versions >= 10.0.0, < 13.0.0. Fixed in 13.0.0. How to fix ↓

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

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Pillow is a widely used Python Imaging Library that adds image processing capabilities to your Python interpreter. It supports opening, manipulating, and saving many different image file formats. However, it has a vulnerability related to FreeType glyph rendering when a stroker is active, which can lead to memory safety issues.

Vulnerability Detail

The vulnerability arises when Pillow draws text with a non-zero stroke width. It creates a FreeType stroker and loads each glyph. If the FT_Load_Glyph function fails for a glyph, the cleanup path incorrectly calls FT_Done_Glyph on an uninitialized variable, leading to potential invalid or double free errors. This issue can be exploited using a malformed font loaded from untrusted bytes, resulting in crashes or unexpected behavior. The vulnerability is classified as high severity with a CVSS score of 8.2.

How To Fix

Latest published version: 13.0.0 as of 22 Oct 2026

pip install --upgrade "pillow==13.0.0"

The newest release already contains this fix.

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

Workaround

As a temporary workaround, avoid using stroke_width greater than 0 when drawing text with Pillow, especially when using fonts from untrusted sources. This can help mitigate the risk until the package is updated.

Conclusion

In summary, CVE-2026-112893 is a critical vulnerability in the Pillow package that can lead to memory safety issues when rendering text with a non-zero stroke width. Users are advised to update to the latest version to mitigate risks associated with this vulnerability.

See every vulnerability recorded for pillow →

Share this vulnerability

FAQ

CVE-2026-112893 is a vulnerability in the Pillow package that can lead to memory safety issues during FreeType glyph rendering.

You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

If you cannot update Pillow right away, avoid using stroke_width greater than 0 when drawing text to reduce the risk of exploitation.

The vulnerability has a high severity rating with a CVSS score of 8.2, indicating a significant risk to applications using the affected versions of Pillow.

You can find more information about Pillow and its features in the official documentation at https://pillow.readthedocs.io.

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"

The newest release already contains this fix.

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