Description
fpdf2 is a PDF creation library for Python. Prior to 2.8.8, fpdf2's shared image loader automatically dereferences attacker-controlled HTTP(S) URLs and raw local paths supplied through FPDF.image(), FPDF.write_html() HTML <img src> values, SVG <image href> or xlink:href values, and template image fields. This can cause outbound requests to attacker-selected internal or external services and local file open attempts, although local content is exposed only when it is a valid supported image or SVG resource. file:// URLs are not specially handled, so the local-path case requires a raw filesystem path. This issue is fixed in version 2.8.8.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| py-pdf | fpdf2 | < 2.8.8 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | fpdf2 | 2.8.8-1 | — |
| Debian 13 | fpdf2 | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-fpdf2 | 2.8.9-2.1 | openSUSE-SU-2026:12278-1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | fpdf2 | < 2.8.8 | 2.8.8 | GHSA-rw7v-4hrq-x6r9 |
Advisories 1
- openSUSE-SU-2026:12278-1 python313-fpdf2-2.8.9-2.1 on GA media SUSE / openSUSE Security Updates · Oct 27, 2026
References
- https://github.com/py-pdf/fpdf2/security/advisories/GHSA-rw7v-4hrq-x6r9
- https://github.com/py-pdf/fpdf2/pull/1824
- https://github.com/py-pdf/fpdf2/pull/1857
- https://github.com/py-pdf/fpdf2/commit/0d27190a8c907e02ebe9cd881471a14d0622b432
- https://github.com/py-pdf/fpdf2/commit/6e23f610b7946e96e9a5dd0535dcbfbe7ac1397d
- https://github.com/py-pdf/fpdf2/releases/tag/2.8.8