CVE-2026-115729 in pdfmeinfo

Summary

by MITRE • 10/23/2026

@pdfme/common from 5.5.10 before 6.2.6 contains a server-side request forgery vulnerability that allows attackers to bypass the isUrlSafeToFetch denylist in getB64BasePdf. Attackers can supply basePdf URLs using IPv4-mapped IPv6, [::], NAT64 or localhost alias hostnames to read loopback, internal or cloud metadata responses through generated documents.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/23/2026

The pdfme/common library versions prior to 6.2.6 contain a critical server-side request forgery vulnerability within the getB64BasePdf function. This flaw stems from an insufficient validation mechanism in the isUrlSafeToFetch denylist, which fails to adequately sanitize or block specific network address formats that can be used to circumvent security controls. The core technical issue lies in how the application processes input URLs for PDF generation operations. When a user supplies a basePdf URL, the system attempts to fetch external resources to embed them into the resulting document. However, the existing denylist logic does not account for IPv4-mapped IPv6 addresses, such as those formatted with the ::ffff: prefix, nor does it properly restrict access via localhost aliases or NAT64 translation mechanisms. This oversight allows an attacker to craft malicious URLs that appear valid but actually resolve to internal network interfaces or cloud metadata endpoints, effectively bypassing the intended security boundaries designed to prevent SSRF attacks.

From a technical perspective, this vulnerability exploits the ambiguity in how different operating systems and networking stacks interpret various IP address formats. By utilizing IPv4-mapped IPv6 addresses, an attacker can trick the underlying HTTP client into treating a request as if it were directed at localhost or 127.0.0.1, even though the input string contains an IPv6 format. Similarly, using [::] directly targets the loopback interface in many environments. NAT64 is another vector where external IPv6 addresses are translated to internal IPv4 addresses by network infrastructure, allowing access to resources that should be isolated from public internet requests. These techniques enable attackers to read sensitive responses generated by local services or cloud metadata APIs, such as AWS EC2 instance metadata service (IMDSv1), which often contain authentication credentials and configuration details without requiring additional authorization headers in older configurations.

The operational impact of this vulnerability is severe, particularly for applications that generate PDFs based on user-supplied content or templates. An attacker who can influence the basePdf URL parameter can perform unauthorized internal network reconnaissance by probing various ports and services within the host environment. More critically, they can exfiltrate sensitive data from cloud metadata endpoints if the application runs in a compromised container or virtual machine with access to these APIs. This could lead to full account takeover of cloud resources, as attackers may retrieve temporary security credentials that allow them to escalate privileges and move laterally across the infrastructure. Additionally, this vulnerability facilitates blind SSRF attacks where the attacker can trigger requests from the server's perspective to internal services like databases or administrative panels, potentially leading to further exploitation depending on the exposed services' configurations.

To mitigate this risk, developers must update the pdfme/common library to version 6.2.6 or later, which addresses these validation gaps by implementing stricter URL parsing and IP address verification logic. The fix likely involves normalizing all input URLs before evaluation and explicitly blocking not just standard localhost indicators but also IPv4-mapped IPv6 formats and other loopback representations. In the interim, if upgrading is not immediately feasible, organizations should implement a robust proxy layer or web application firewall rule set that inspects outbound HTTP requests initiated by the pdfme service. This secondary control should validate destination IPs against an allowlist of permitted external domains and block any attempts to resolve internal IP ranges, including 127.0.0.0/8, ::1, and cloud metadata CIDRs such as 169.254.169.254/32 for AWS environments. Furthermore, applying the principle of least privilege to the application runtime environment ensures that even if an SSRF is successful, the impact is limited by restricting network access permissions at the container or host level.

This vulnerability aligns with CWE-918 Server-Side Request Forgery (SSRF), specifically highlighting weaknesses in URL validation and IP address handling often categorized under CWE-643 Improper Mitigation of Exfiltration Vulnerability within Data Validation contexts. In terms of offensive security frameworks, this exploit maps to the ATT&CK technique T1598 Phishing for Information from Cloud Infrastructure, as it leverages SSRF to access cloud metadata services. It also relates to T1046 Network Service Discovery when used for internal reconnaissance purposes. Security teams should prioritize patching this component due to its direct impact on data confidentiality and integrity in document generation workflows that interact with external or semi-trusted inputs. Regular audits of URL handling logic across all microservices are recommended to identify similar patterns where input validation may be bypassed through alternative encoding schemes or protocol ambiguities.

Responsible

VulnCheck

Reservation

10/23/2026

Disclosure

10/23/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!