Invalid free in Pillow FreeType rendering when a stroker is active
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Partial Red Hat: 8 fixed, 9 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-457 and the CVSS impact.
Summary
Pillow from 10.0.0 before 13.0.0 can free an invalid glyph pointer during FreeType text rendering when a stroker is active (CWE-763). If glyph loading fails, cleanup frees an uninitialized or stale glyph variable. An unauthenticated remote attacker who supplies a malformed font to an application that draws text with a nonzero stroke width can corrupt memory or crash the process. A public proof-of-concept exploit is linked in the references.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Pillow is a Python imaging library. From 10.0.0 until 13.0.0, Pillow can free an invalid glyph pointer during FreeType rendering with an active stroker. If FT_Load_Glyph fails, cleanup may call FT_Done_Glyph on an uninitialized or stale glyph variable. An attacker can supply a malformed font as untrusted bytes to an application that draws text with a nonzero stroke width, forcing the glyph-load failure path. This can corrupt memory or crash the process. This issue is fixed in version 13.0.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| python-pillow | Pillow | 10.0.0 to before 13.0.0 | 13.0.0 | Patch available | CNA |
| — | pillow (PyPI) | 10.0.0 to before 13.0.0 | 13.0.0 | Patch available | GHSA-j4m9-6w36-pw47 |
- Pillow Vendorpython-pillow Affected 10.0.0 to before 13.0.0 Fixed in 13.0.0 Patch available CNA
- pillow (PyPI) Vendor— Affected 10.0.0 to before 13.0.0 Fixed in 13.0.0 Patch available GHSA-j4m9-6w36-pw47
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* | 10.0.0 to before 13.0.0 | Vulnerable | python-pillow |
- cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:* Versions 10.0.0 to before 13.0.0 Vulnerable ·python-pillow
Remediation
Upgrade Pillow to version 13.0.0, which fixes the python-pillow and PyPI pillow packages. Red Hat fixes this in Satellite 6.16, 6.17, 6.18 and 6.19 (RHSA-2026:95655, RHSA-2026:95656, RHSA-2026:95657, RHSA-2026:92861), in OpenShift AI 3.4 and 3.5 (RHSA-2026:92510, RHSA-2026:94631), and in Red Hat AI Inference Server 3.5 (RHSA-2026:94738). The sources list no fixed version for Ansible Automation Platform 2, Quay 3 and other products.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Pillow (python-pillow) Fixed in 13.0.0
- Fix · GHSA-j4m9-6w36-pw47 pillow (PyPI) Fixed in 13.0.0 Advisory →
Red Hat 12 advisories
- RHSA-2026:95655 Released 2026-11-05 · Red Hat rating CriticalSatellite 6.16 EUS security update
- Red Hat Satellite 6.16 for RHEL 8 openvox-agent-8.32.0-1.el8sat, openvox-server-8.18.0-1.el8sat, python-brotli-1.2.1-1.el8pc +11
- Red Hat Satellite 6.16 for RHEL 9 openvox-agent-8.32.0-1.el9sat, openvox-server-8.18.0-1.el9sat, python-brotli-1.2.1-1.el9pc +11
- RHSA-2026:95657 Released 2026-11-05 · Red Hat rating CriticalSatellite 6.18 security update
- Red Hat Satellite 6.18 for RHEL 9 openvox-agent-8.32.0-1.el9sat, openvox-server-8.18.0-1.el9sat, python3.12-brotli-1.2.1-1.el9pc +4
- RHSA-2026:95656 Released 2026-11-05 · Red Hat rating CriticalSatellite 6.17 security update
- Red Hat Satellite 6.17 for RHEL 9 openvox-agent-8.32.0-1.el9sat, openvox-server-8.18.0-1.el9sat, python-brotli-1.2.1-1.el9pc +9
Show 9 more Red Hat advisories
- RHSA-2026:94738 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (CUDA)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cuda-rhel9
- RHSA-2026:94721 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference Tech Preview 3.5.3 (Gaudi)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-gaudi-rhel9
- RHSA-2026:94717 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (Spyre)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-spyre-rhel9
- RHSA-2026:94715 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference Model Optimization Tools 3.5.3 (CUDA)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/model-opt-cuda-rhel9
- RHSA-2026:94709 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (ROCm)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-rocm-rhel9
- RHSA-2026:94702 Released 2026-11-03 · Red Hat rating CriticalRed Hat AI Inference 3.5.3 (CPU)
- Red Hat AI Inference Server 3.5 registry.redhat.io/rhaii/vllm-cpu-rhel9
- RHSA-2026:94631 Released 2026-11-03 · Red Hat rating CriticalGuideLLM 3.5.1
- Red Hat OpenShift AI 3.5 registry.redhat.io/rhai/guidellm-rhel9
- RHSA-2026:92861 Released 2026-10-29 · Red Hat rating CriticalSatellite 6.19 security update
- Red Hat Satellite 6.19 for RHEL 9 openvox-agent-8.31.1-1.el9sat, openvox-server-8.17.0-1.el9sat, python3.12-brotli-1.2.1-1.el9pc +6
- RHSA-2026:92510 Released 2026-10-29 · Red Hat rating CriticalRHOAI 3.4.6 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.4 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-cli-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +47
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Exploit Intelligence | Affected | No fix yet |
| Lightspeed Core | Affected | No fix yet |
| OpenShift Lightspeed | Affected | No fix yet |
| Red Hat AI Inference Server | Affected | No fix planned: Will not fix |
| Red Hat Ansible Automation Platform 2 | Affected | No fix yet |
| Red Hat Enterprise Linux AI (RHEL AI) 3 | Affected | No fix yet |
| Red Hat Lightspeed Services for OCP | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat Quay 3 | Affected | No fix yet |
| Red Hat AI Inference Server 3.5 | Fixed | RHSA-2026:94702, RHSA-2026:94709, RHSA-2026:94715, RHSA-2026:94717, RHSA-2026:94721, RHSA-2026:94738 |
| Red Hat OpenShift AI 3.4 | Fixed | RHSA-2026:92510 |
| Red Hat OpenShift AI 3.5 | Fixed | RHSA-2026:94631 |
| Red Hat Satellite 6.16 for RHEL 8 | Fixed | RHSA-2026:95655 |
| Red Hat Satellite 6.16 for RHEL 9 | Fixed | RHSA-2026:95655 |
| Red Hat Satellite 6.17 for RHEL 9 | Fixed | RHSA-2026:95656 |
| Red Hat Satellite 6.18 for RHEL 9 | Fixed | RHSA-2026:95657 |
| Red Hat Satellite 6.19 for RHEL 9 | Fixed | RHSA-2026:92861 |
Not affected: 10 products
- Red Hat AI Inference Server
- Red Hat Ansible Automation Platform 2
- Red Hat Enterprise Linux 8
- Red Hat OpenShift AI (RHOAI)
- Red Hat OpenShift AI 3.4
- Red Hat Satellite 6.16 for RHEL 8
- Red Hat Satellite 6.16 for RHEL 9
- Red Hat Satellite 6.17 for RHEL 9
- Red Hat Satellite 6.18 for RHEL 9
- Red Hat Satellite 6.19 for RHEL 9
Timeline
- 2026-10-20 Threatist record created from CVE-2026-112893
- 2026-10-20 Affected versions changed · Red Hat
- 2026-10-20 CVSS score added · Red Hat
- 2026-10-21 Priority changed: MEDIUM → LOW
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 Alias added: GHSA-j4m9-6w36-pw47
- 2026-10-21 Fix available: PyPI/[email protected] · GHSA-j4m9-6w36-pw47
- 2026-10-21 CVSS score added · GHSA-j4m9-6w36-pw47
- 2026-10-21 Weakness changed · GHSA-j4m9-6w36-pw47
- 2026-10-21 5 new references · GHSA-j4m9-6w36-pw47
- 2026-10-27 CVSS score added · NVD
- 2026-10-28 CISA SSVC decision points changed
- 2026-10-28 Priority changed: LOW → HIGH
- 2026-10-30 Fix available: RHSA-2026:92510 · Red Hat
- 2026-10-30 Fix available: Red Hat OpenShift AI 3.4 · Red Hat
- 2026-10-30 Fix available: Red Hat Satellite 6.19 for RHEL 9 · Red Hat
- 2026-10-31 Fix available: RHSA-2026:92861 · Red Hat
- 2026-11-04 Affected versions changed · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94717 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94715 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94709 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94738 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94702 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94631 · Red Hat
- 2026-11-04 Fix available: RHSA-2026:94721 · Red Hat
- 2026-11-04 Fix available: Red Hat AI Inference Server 3.5, Red Hat OpenShift AI 3.5 · Red Hat
- 2026-11-06 Fix available: Red Hat Satellite 6.16 for RHEL 8, Red Hat Satellite 6.16 for RHEL 9, Red Hat Satellite 6.17 for RHEL 9 +1 · Red Hat
- 2026-11-06 Fix available: RHSA-2026:95656 · Red Hat
- 2026-11-06 Fix available: RHSA-2026:95655 · Red Hat
- 2026-11-06 Fix available: RHSA-2026:95657 · Red Hat
References
More python-pillow Pillow vulnerabilities
- TI-2026-76627 Out-of-bounds read in Pillow TIFF encoder ColorMap handling CVSS 4.0HIGH 8.8
- TI-2026-76625 Quadratic-time denial of service in Pillow PDF save_all CVSS 4.0HIGH 8.7
- TI-2026-76605 NULL pointer dereference in Pillow's Image.merge function CVSS 4.0HIGH 8.7
- TI-2026-76604 Out-of-bounds read in Pillow TIFF decoding leaks heap memory CVSS 4.0HIGH 8.8
- TI-2026-76602 Double free in Pillow ImagingScaleAffine on allocation failure CVSS 4.0HIGH 8.7
- TI-2026-76600 GIF seek in Pillow keeps rejected size, allowing denial of service CVSS 4.0HIGH 8.7
Sources
- CVE-2026-112893 · CVE Program
- CVE-2026-112893 · NVD
- FIRST EPSS
- GHSA-j4m9-6w36-pw47 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-112893 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences