# CVE-2026-115729: @pdfme/common server-side request forgery in isUrlSafeToFetch

Source: https://junglewise.ai/threats/cve-2026-115729-pdfme-common-from-5-5-10-before-6-2-6-contains-a-server-side  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-23. Updated: 2026-10-23  
License: CC BY 4.0 with a link back

CVE-2026-115729 · Severity: medium · CVSS 6.8 · Published 2026-10-23

@pdfme/common is a JavaScript library used to generate PDF documents with templates. An incomplete security fix allows attackers to bypass URL validation in the getB64BasePdf function by using IPv4-mapped IPv6 addresses, localhost aliases, or other hostname variations, enabling them to read internal or cloud metadata responses embedded in generated documents.

Vendors: [PDFME](https://junglewise.ai/threats/vendors/pdfme).

## Quick answers

**Is CVE-2026-115729 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-115729 being exploited in the wild.

**How severe is CVE-2026-115729?** Medium severity, with a CVSS score of 6.8, published 23 October 2026.

**Which products and versions are affected?** PDFME @Pdfme/Common 5.5.10 to before 6.2.6.

**Is there a fix for CVE-2026-115729?** Yes: fixed in 6.2.6. Until then: Do not allow untrusted users to control the basePdf parameter in templates, or restrict template editing to fully trusted parties only.</anigation>
<parameter name="timeline">[{"kind": "disclosed", "at": "2026-10-16", "note": "Fix commit"}, {"kind": "advisory", "at": "2026-10-16", "note": "GitHub Security Advisory GHSA-2rg9-wxfw-wrr7"}, {"kind": "other", "at": "2026-10-23", "note": "CVE-2026-115729 published"}] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-115729 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-115729?** Check whether you run PDFME @Pdfme/Common at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 6.2.6

Do not allow untrusted users to control the basePdf parameter in templates, or restrict template editing to fully trusted parties only.</anigation>
<parameter name="timeline">[{"kind": "disclosed", "at": "2026-10-16", "note": "Fix commit"}, {"kind": "advisory", "at": "2026-10-16", "note": "GitHub Security Advisory GHSA-2rg9-wxfw-wrr7"}, {"kind": "other", "at": "2026-10-23", "note": "CVE-2026-115729 published"}]

## Technical details

The isUrlSafeToFetch function uses a denylist check on WHATWG URL-normalized hostnames to prevent server-side request forgery, but it fails to block IPv4-mapped IPv6 notation (e.g., [::ffff:127.0.0.1]), [::] loopback, NAT64 addresses, and trailing-dot hostname variations that all resolve to restricted internal addresses. An attacker who controls the basePdf parameter in a template can craft these alternative hostname forms to bypass the denylist and trigger fetches to loopback interfaces (127.0.0.1, localhost) or cloud metadata endpoints (169.254.169.254), with responses embedded in generated PDFs.

## Affected products

- pdfme @pdfme/common 5.5.10 to before 6.2.6

## References

- [https://github.com/pdfme/pdfme/commit/d03d0bc4994ce6921e152879793c5ff52c5600a6](https://github.com/pdfme/pdfme/commit/d03d0bc4994ce6921e152879793c5ff52c5600a6)
- [https://github.com/pdfme/pdfme/security/advisories/GHSA-2rg9-wxfw-wrr7](https://github.com/pdfme/pdfme/security/advisories/GHSA-2rg9-wxfw-wrr7)
