Sceawere
Vulnerability Detail
CVE-2026-82866UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
Server-Side Request Forgery in @pdfme/common
Vulnerability Metadata
- Severity
- Medium
- Score / CVSS
- 6.8
- Creation Date
- 21h ago
- Vendor
- pdfme
- Product
- common
- Attack Type
- Server-Side Request Forgery (SSRF)
- Vector String
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
- Attack Complexity
- HIGH
Narrative and Response
Description
@pdfme/common before 5.5.10 contains a server-side request forgery vulnerability in the getB64BasePdf function that fetches arbitrary URLs without validation when basePdf is attacker-controlled. Attackers who control the basePdf template field can force servers or clients to make requests to internal endpoints, enabling metadata exfiltration, network reconnaissance, and blind request forgery attacks.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "6.8",
"pubDate": "2026-08-31T09:17:07.260Z",
"pubdate": "2026-08-31T09:17:07.260Z",
"executiveSummary": "A Server-Side Request Forgery (SSRF) vulnerability exists in @pdfme/common versions prior to 5.5.10. The flaw resides within the getB64BasePdf function, which fails to implement adequate input validation when processing the basePdf field.\nThis vulnerability allows an attacker who controls the basePdf template input to force the application to initiate unauthorized HTTP requests to arbitrary URLs.\nThe risk is critical as it enables attackers to bypass network perimeters, perform reconnaissance on internal infrastructure, exfiltrate sensitive metadata, or conduct blind request forgery against services inaccessible from the public internet.\nThe attack requires no specific authentication if the application exposes the affected function to user-supplied input. Successful exploitation leverages the server's or client's execution context to interact with internal APIs, cloud metadata services (e.g., AWS IMDS), or internal network assets, effectively turning the library into a proxy for malicious requests.",
"technicalDetails": "The vulnerability originates in the getB64BasePdf function within the @pdfme/common library. The function is designed to resolve and fetch PDF document structures for template rendering. However, it lacks a validation layer to sanitize or restrict the URI schemes and destinations provided in the basePdf argument.\nThe root cause is an improper trust boundary; the library treats user-supplied strings as trusted resource locators. When the basePdf parameter is populated with a URL, the internal logic triggers an automated fetch operation. Because there is no allowlist for hostnames or protocol verification, the function becomes an open relay for HTTP/HTTPS requests.\nThe exploitation flow begins when an attacker crafts a malicious template containing an arbitrary URI in the basePdf field. Upon rendering or processing this template, the server executes the getB64BasePdf function. The library proceeds to perform an outbound request to the target URL provided by the attacker. If the server is deployed within a cloud environment or a private network, the attacker can supply internal IP addresses (e.g., 169.254.169.254) to query sensitive cloud metadata services, access internal admin panels that do not require authentication, or port-scan the internal network by observing response times or error codes (blind SSRF).\nPost-exploitation, the impact is significant: attackers can exfiltrate metadata, credentials, or internal configuration files. Furthermore, if the request supports various protocols, attackers might interact with internal services that are vulnerable to command injection or other non-HTTP protocols, potentially leading to remote code execution or complete system compromise. The vulnerability is persistent as long as the tainted input is processed by the unpatched version of the library. Exposure is inherent to any application utilizing @pdfme/common for processing dynamic templates where the basePdf source is not strictly derived from a trusted, static local file or a sanitized, validated origin."
}