CVE-2026-55073 WeasyPrint restrictive URL fetcher bypass allows local file read and SSRF

Medium 6.2 Published Updated

Attackers can bypass URL restrictions in WeasyPrint to read local files or access internal resources via crafted PDF generation inputs.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-55073?

CVE-2026-55073 is a medium-severity server-side request forgery vulnerability in Kozea WeasyPrint, published on 14 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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.

Weakness: CWE-918

Which versions are affected by CVE-2026-55073?

3 open source packages ship an affected version, including weasyprint.

PackageAffectedFixed in
weasyprint PyPIAll versions70.0
weasyprint PyPIAll versions70.0
weasyprint PyPIAll versions70.0
Linux distribution packages (2)
python-weasyprint openSUSE:Leap 16.0All versions65.1-bp160.4.1
python-weasyprint openSUSE:TumbleweedAll versions70.0-1.1

How do I fix CVE-2026-55073?

Upgrade weasyprint to 70.0 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2026-55073 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55073 exists.

Sources

Also known as DEBIAN-CVE-2026-55073, GHSA-jf6q-chmf-3h3v, PYSEC-2026-3940, UBUNTU-CVE-2026-55073, openSUSE-SU-2026:11816-1, openSUSE-SU-2026:21928-1.

Is CVE-2026-55073 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free