CVE-2026-49452

NameCVE-2026-49452
DescriptionWeasyPrint helps web developers to create PDF documents. Prior to 69.0, WeasyPrint embeds unescaped HTML presentational-hint attribute values into CSS in weasyprint/css/__init__.py when presentational_hints=True. The background attribute is inserted into a background-image:url() declaration and parsed by tinycss2.parse_blocks_contents(), allowing untrusted HTML to inject additional CSS declarations. Applications that render untrusted HTML with presentational hints enabled can be affected by CSS injection and server-side requests through injected url() values. This issue is fixed in version 69.0.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
weasyprint (PTS)bookworm57.2-1vulnerable
trixie62.3-1vulnerable
forky, sid69.0-2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
weasyprintsource(unstable)69.0-1

Notes

[trixie] - weasyprint <no-dsa> (Minor issue)
[bookworm] - weasyprint <postponed> (Minor issue; only exploitable when presentational hints are enabled, disabled by default)
[bullseye] - weasyprint <postponed> (Minor issue; only exploitable when presentational hints are enabled, disabled by default)
https://www.courtbouillon.org/blog/00067-weasyprint-69/
https://github.com/Kozea/WeasyPrint/security/advisories/GHSA-jhhc-3hcp-qhm5

Search for package or bug name: Reporting problems