Debian Package Tracker
Register | Log in
Subscribe

weasyprint

Document factory for creating PDF files from HTML

Choose email to subscribe with

general
  • source: weasyprint (main)
  • version: 69.0-2
  • maintainer: Debian Python Team (DMD)
  • uploaders: Stéphane Glondu [DMD]
  • arch: all
  • std-ver: 4.7.0
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 51-2
  • oldstable: 57.2-1
  • stable: 62.3-1
  • testing: 69.0-2
  • unstable: 69.0-2
versioned links
  • 51-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 57.2-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 62.3-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 69.0-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • weasyprint
action needed
A new upstream version is available: 70.0 high
A new upstream version 70.0 is available, you should consider packaging it.
Created: 2026-09-10 Last update: 2026-09-17 00:30
3 security issues in trixie high

There are 3 open security issues in trixie.

1 important issue:
  • CVE-2026-55073: 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.
2 issues left for the package maintainer to handle:
  • CVE-2025-68616: (needs triaging) WeasyPrint helps web developers to create PDF documents. Prior to version 68.0, a server-side request forgery (SSRF) protection bypass exists in WeasyPrint's `default_url_fetcher`. The vulnerability allows attackers to access internal network resources (such as `localhost` services or cloud metadata endpoints) even when a developer has implemented a custom `url_fetcher` to block such access. This occurs because the underlying `urllib` library follows HTTP redirects automatically without re-validating the new destination against the developer's security policy. Version 68.0 contains a patch for the issue.
  • CVE-2026-49452: (needs triaging) 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.

You can find information about how to handle these issues in the security team's documentation.

Created: 2026-06-07 Last update: 2026-09-16 10:30
1 security issue in sid high

There is 1 open security issue in sid.

1 important issue:
  • CVE-2026-55073: 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.
Created: 2026-09-16 Last update: 2026-09-16 10:30
1 security issue in forky high

There is 1 open security issue in forky.

1 important issue:
  • CVE-2026-55073: 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.
Created: 2026-09-16 Last update: 2026-09-16 10:30
3 security issues in bookworm high

There are 3 open security issues in bookworm.

1 important issue:
  • CVE-2026-55073: 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.
2 issues postponed or untriaged:
  • CVE-2025-68616: (needs triaging) WeasyPrint helps web developers to create PDF documents. Prior to version 68.0, a server-side request forgery (SSRF) protection bypass exists in WeasyPrint's `default_url_fetcher`. The vulnerability allows attackers to access internal network resources (such as `localhost` services or cloud metadata endpoints) even when a developer has implemented a custom `url_fetcher` to block such access. This occurs because the underlying `urllib` library follows HTTP redirects automatically without re-validating the new destination against the developer's security policy. Version 68.0 contains a patch for the issue.
  • CVE-2026-49452: (postponed; to be fixed through a stable update) 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.
Created: 2026-09-16 Last update: 2026-09-16 10:30
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.0).
Created: 2025-02-21 Last update: 2026-06-22 18:00
news
[rss feed]
  • [2026-06-25] weasyprint 69.0-2 MIGRATED to testing (Debian testing watch)
  • [2026-06-22] Accepted weasyprint 69.0-2 (source) into unstable (Stéphane Glondu)
  • [2026-06-15] Accepted weasyprint 69.0-1 (source) into unstable (Stéphane Glondu)
  • [2026-03-04] weasyprint 67.0-1 MIGRATED to testing (Debian testing watch)
  • [2026-02-27] Accepted weasyprint 67.0-1 (source) into unstable (Stéphane Glondu)
  • [2024-07-02] weasyprint 62.3-1 MIGRATED to testing (Debian testing watch)
  • [2024-06-27] Accepted weasyprint 62.3-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-06-15] weasyprint 62.2-1 MIGRATED to testing (Debian testing watch)
  • [2024-06-09] Accepted weasyprint 62.2-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-05-13] weasyprint 62.1-1 MIGRATED to testing (Debian testing watch)
  • [2024-05-06] Accepted weasyprint 62.1-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-05-06] Accepted weasyprint 62.0-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-05-03] weasyprint 61.2-2 MIGRATED to testing (Debian testing watch)
  • [2024-04-27] Accepted weasyprint 61.2-2 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-03-21] weasyprint 61.2-1 MIGRATED to testing (Debian testing watch)
  • [2024-03-16] Accepted weasyprint 61.2-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-03-07] weasyprint 61.1-1 MIGRATED to testing (Debian testing watch)
  • [2024-03-01] Accepted weasyprint 61.1-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-02-24] weasyprint 61.0-1 MIGRATED to testing (Debian testing watch)
  • [2024-02-18] Accepted weasyprint 61.0-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2024-01-09] weasyprint 60.2-1 MIGRATED to testing (Debian testing watch)
  • [2024-01-03] Accepted weasyprint 60.2-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2023-06-20] weasyprint 59.0-1 MIGRATED to testing (Debian testing watch)
  • [2023-06-12] Accepted weasyprint 59.0-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2023-01-20] weasyprint 57.2-1 MIGRATED to testing (Debian testing watch)
  • [2023-01-15] Accepted weasyprint 57.2-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2022-11-12] weasyprint 57.1-1 MIGRATED to testing (Debian testing watch)
  • [2022-11-07] weasyprint 57.0-2 MIGRATED to testing (Debian testing watch)
  • [2022-11-07] Accepted weasyprint 57.1-1 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • [2022-11-02] Accepted weasyprint 57.0-2 (source) into unstable (Scott Kitterman) (signed by: Donald Scott Kitterman)
  • 1
  • 2
bugs [bug history graph]
  • all: 0
links
  • homepage
  • lintian
  • buildd: logs, reproducibility
  • popcon
  • browse source code
  • other distros
  • security tracker
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 69.0-2
  • 1 bug

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing