{"id":"UBUNTU-CVE-2026-49452","details":"WeasyPrint 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.","modified":"2026-09-02T19:36:24.979109674Z","published":"2026-08-18T18:17:00Z","upstream":["CVE-2026-49452"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-49452"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-49452"},{"type":"REPORT","url":"https://www.courtbouillon.org/blog/00067-weasyprint-69/"},{"type":"REPORT","url":"https://github.com/Kozea/WeasyPrint/security/advisories/GHSA-jhhc-3hcp-qhm5"}],"affected":[{"package":{"name":"weasyprint","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/weasyprint?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["50-2","51-1","51-2"],"ecosystem_specific":{"binaries":[{"binary_name":"weasyprint","binary_version":"51-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49452.json"}},{"package":{"name":"weasyprint","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/weasyprint?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["51-2","51-3","53.4-1","54.0-1","54.1-1"],"ecosystem_specific":{"binaries":[{"binary_version":"54.1-1","binary_name":"weasyprint"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49452.json"}},{"package":{"name":"weasyprint","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/weasyprint?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["59.0-1","60.2-1","61.0-1","61.1-1"],"ecosystem_specific":{"binaries":[{"binary_version":"61.1-1","binary_name":"weasyprint"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49452.json"}},{"package":{"name":"weasyprint","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/weasyprint?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["62.3-1"],"ecosystem_specific":{"binaries":[{"binary_version":"62.3-1","binary_name":"weasyprint"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49452.json"}},{"package":{"name":"weasyprint","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/weasyprint?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["62.3-1","62.3-1build1","67.0-1"],"ecosystem_specific":{"binaries":[{"binary_name":"weasyprint","binary_version":"67.0-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-49452.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"},{"type":"Ubuntu","score":"medium"}]}