CVE-2026-114609Medium· 5.8▾ Sunlitfpdf2 implicitly loads external URLs and local image paths when rendering attacker-controlled content
▾ Sunlit zone — Low / medium · no exploitation signal
impact 31.9 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Oct 25.
Disclosure to exploitation, from the record and what we observed since indexing it.
0.3%
Disclosed via OSV
fpdf2 implicitly dereferences image resource references supplied to rendering APIs. If an application passes untrusted HTML, SVG, template data, or image paths into those APIs, fpdf2 may issue outbound HTTP(S) requests or attempt to open local filesystem paths.
This behavior is relevant in applications that render untrusted or user-provided input without sanitizing or restricting embedded resource references.
In affected versions, fpdf2 uses a shared internal image-loading mechanism for multiple features. This loader:
http:// and https:// URLs over the networkDuring document processing, resource references embedded in input content are automatically dereferenced using this mechanism.
This behavior is reachable through:
FPDF.image()FPDF.write_html() via HTML <img src="...">FPDF.image() when rendering SVG files containing <image href="..."> or xlink:href="...">FPDF.image()If an application renders attacker-controlled input through these APIs, that input can cause:
This may enable Server-Side Request Forgery (SSRF) in applications that render untrusted content.
Local file access impact is limited: the library attempts to open the referenced path, but successful embedding depends on the target being a valid and supported image or SVG resource.
file:// URLs are not specially handled; raw filesystem paths such as /path/to/file or ../../file.png are the relevant local-path cases.
This issue affects applications that render untrusted or partially trusted content using fpdf2.
Applications may be impacted if they:
write_html()<image> referencesimage()Potential impacts include:
The severity depends on how fpdf2 is integrated and whether untrusted input is allowed to control resource references.
Example scenarios
HTML:
pdf.write_html('<img src="http://127.0.0.1:8000/internal.png">')
SVG:
<image href="http://169.254.169.254/latest/meta-data/" />
Direct image path:
pdf.image("../../.env")
Workarounds
Applications can mitigate this by:
src / href / image-path valuesfpdf2Credits
fpdf2 < 2.8.8Upgrade to a patched release:
fpdf2 2.8.8Connected by shared product, vendor, weakness, or advisory.
CVE-2026-114610Medium· 6.5fpdf2: Exponential SVG '<use>' expansion causes CPU and memory exhaustion in 'FPDF.image()'
CVE-2025-68616High· 7.5WeasyPrint helps web developers to create PDF documents
CVE-2025-34469High· 7.5Cowrie versions prior to 2.9.0 contain a server-side request forgery (SSRF) vulnerability in the emulated shell implementation of wget and curl
CVE-2022-0767Critical· 9.9Server-Side Request Forgery in calibreweb
CVE-2022-0766Critical· 9.8Server-Side Request Forgery in calibreweb
CVE-2025-61916High· 7.9Spinnaker is an open source, multi-cloud continuous delivery platform