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.
Published: 2026-10-22
Score: 5.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Outbound network requests and local file access
Action: Patch ASAP
AI Analysis

Impact

The flaw resides in fpdf2’s shared image loader, which automatically dereferences attacker–controlled HTTP(S) URLs and raw local file paths supplied through FPDF.image(), the HTML <img src> attribute used by FPDF.write_html(), SVG <image href> or xlink:href tags, and template image fields. When these functions encounter such values, the library opens the referenced resource without validating its origin. For external URLs the Resulting outbound connections can target any attacker‑chosen service; for local paths the loader attempts to open the file, but only succeeds if the file is a supported image or SVG resource. The vulnerability does not provide direct code execution but can leak sensitive data or supply a vector for further attacks via the data obtained from the external service.

Affected Systems

All releases of the Python PDF creation library ’py‑pdf:fpdf2’ prior to version 2.8.8 are affected. The vulnerability is present in the shared image loader component and thus affects any application that makes use of FPDF.image(), FPDF.write_html(), or the SVG image handling capabilities within fpdf2 before this version.

Risk and Exploitability

The CVSS score of 5.8 places the issue in the moderate severity range. The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, indicating it has not yet been widely exploited. The attack vector is inferred to be local or remote, depending on whether the application can accept attacker‑controlled content that is passed to the image loader. Exploitation requires that the attacker be able to supply content that triggers the loader with a malicious URL or file path. While no immediate denial of service or privilege escalation is described, the consequence of allowing arbitrary outbound requests or unintended file reads warrants prompt attention.

Generated by OpenCVE AI on October 22, 2026 at 18:51 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade fpdf2 to version 2.8.8 or later to eliminate the vulnerable image loader.
  • Configure the application to reject or sanitize external URLs and raw local file paths before they are passed to FPDF.image() or FPDF.write_html(), preventing unintended outbound connections or file reads.
  • If upgrading is not immediately possible, restrict the use of the library’s image functions to trusted inputs only, or temporarily disable the image loading feature until a patch is applied.

Generated by OpenCVE AI on October 22, 2026 at 18:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-rw7v-4hrq-x6r9 fpdf2 implicitly loads external URLs and local image paths when rendering attacker-controlled content
History

Thu, 29 Oct 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 26 Oct 2026 19:45:00 +0000

Type Values Removed Values Added
First Time appeared Py-pdf
Py-pdf fpdf2
Vendors & Products Py-pdf
Py-pdf fpdf2

Thu, 22 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
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.
Title fpdf2 implicitly loads external URLs and local image paths when rendering attacker-controlled content
Weaknesses CWE-918
References
Metrics cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T02:19:57.646Z

Reserved: 2026-10-21T20:34:25.599Z

Link: CVE-2026-114609

cve-icon Vulnrichment

Updated: 2026-10-29T02:19:53.607Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-22T18:17:28.060

Modified: 2026-10-29T04:18:24.410

Link: CVE-2026-114609

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-26T19:26:16Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)