Skip to content
OpenAdvisories
High · 8.8 CVE-2026-106443 EUVD-2026-93668GHSA-r543-q48m-4c9jPYSEC-2026-4311

WeasyPrint: EPS images reach the Ghostscript interpreter resulting in RCE

Published Oct 6, 2026 · Updated Oct 6, 2026 · Assigned by GitHub_M

Description

WeasyPrint helps web developers to create PDF documents. Prior to 70.0, the image-loading path in weasyprint/images.py passes fetched image bytes from HTML img URLs, CSS image values, SVG image references, and data URIs to Pillow's generic image dispatcher without excluding EPS or PostScript formats. On hosts with Ghostscript installed, Pillow EpsImagePlugin invokes the interpreter for attacker-controlled PostScript, which can produce interpreter-permitted effects and can lead to remote code execution when the installed Ghostscript version has a usable sandbox bypass. Hosts without Ghostscript do not reach this rasterization path. This issue is fixed in version 70.0.

Affected products

VendorProductAffectedFixed
Kozea WeasyPrint < 70.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 weasyprint 70.0-1 —
Debian 13 weasyprint No fix yet —
Debian 12 weasyprint No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 weasyprint No fix yet —
Ubuntu 26.04 LTS weasyprint No fix yet —
Ubuntu 24.04 LTS weasyprint No fix yet —
Ubuntu 22.04 LTS weasyprint No fix yet —
Ubuntu 20.04 LTS weasyprint No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI weasyprint < 70.0 70.0 GHSA-r543-q48m-4c9j

References