Medium severity · published Sep 14, 2026
CVE-2026-55073
WeasyPrint restrictive URL fetcher bypass allows local file read and SSRF
6.2
CVSS
0.2%
EPSS
No
On KEV
Description
WeasyPrint helps web developers to create PDF documents. Prior to 70.0, server-side applications that configure a restrictive url_fetcher and pass attacker-influenced values to HTML.write_pdf() can have the restriction bypassed through the xmp_metadata or stylesheets options. In weasyprint/pdf/init.py, xmp_metadata calls select_source() without the document url_fetcher, allowing an accessible local file to be read and embedded verbatim in the output PDF. In weasyprint/document.py, stylesheets constructs CSS() without the document url_fetcher, allowing local or internal resource loading and propagating the permissive fetcher through nested CSS imports and url() references. The stylesheets channel applies fetched resources but does not by itself disclose stylesheet comments verbatim. This issue is fixed in version 70.0.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Local
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 13% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
WE
WeasyPrint · Kozea
< 70.0 · source: vendor
Affected product
WE
WeasyPrint
Kozea
More from WeasyPrint
8.8
CVE-2026-106443
WeasyPrint: EPS images reach the Ghostscript interpreter resulting in RCE
7.5
CVE-2025-68616
WeasyPrint Vulnerable to Server-Side Request Forgery (SSRF) Protection Bypass via HTTP Redirect
7.4
CVE-2024-28184
WeasyPrint helps web developers to create PDF documents
6.5
CVE-2026-49452
WeasyPrint: CSS Injection via Presentational Hints