Skip to main content

pdfmake CVE-2026-114491

| EUVDEUVD-2026-107419 MEDIUM
External Control of File Name or Path (CWE-73)
2026-10-21 VulnCheck GHSA-g5v7-9x6w-f3xq
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted document definition
  2. Delivery
    Embed SVG image href to local path
  3. Exploit
    Renderer skips setLocalAccessPolicy check
  4. Execution
    Local file contents embedded in PDF
  5. Impact
    Attacker reads restricted file from output

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File name/path control
Exploitation Conditions

Exploitation requires that (1) the host application generates PDFs from attacker-controllable pdfmake document definitions, and (2) the application relies on setLocalAccessPolicy() to restrict local file access - this flaw is specifically a bypass of that restriction for images referenced via href inside SVG content. The attacker must be able to place an SVG element with a local-path image href into the document definition. Limiting factors: if setLocalAccessPolicy() is not used (no restriction expected) or document definitions are fully trusted/operator-controlled, there is no exposure; impact is confined to confidentiality (reading files the pdfmake process can access) with no integrity or availability effect, and only affects pdfmake 0.3.8 through 0.3.11 (fixed in 0.3.12).

Impact

This is a moderate, condition-dependent information-disclosure flaw rather than a top-tier priority. The only authoritative scoring signal provided is a CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N, score 6.9) describing network, low-complexity, unauthenticated access with only LOW confidentiality impact and no integrity or availability impact - consistent with CWE-73 (external control of file name or path) and the description of a local-file read bypass. No EPSS score, no CISA KEV listing, and no explicit POC indicator were supplied, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the finding comes from VulnCheck research plus a confirmed vendor patch. The PR:N / AV:N metrics are only realistic for applications that expose pdfmake to attacker-controlled document definitions AND rely on setLocalAccessPolicy() as a security boundary - absent that specific configuration there is no meaningful exposure, which tempers the network-unauthenticated framing. Net: a real but narrow server-side SSRF-like file-disclosure bug affecting a popular library, worth patching promptly where document definitions are user-supplied, but not an emergency given LOW impact, no KEV, and no known exploitation.

Exploit ScenarioDerived

An application lets untrusted users submit pdfmake document definitions and uses setLocalAccessPolicy() to block local file access as a security control. An attacker submits a definition containing an SVG image whose href points to a sensitive local path (e.g. a config or key file); because the restriction is not applied to images inside SVG content, the file's contents are embedded into the generated PDF and returned to the attacker. No public exploit code was identified in the provided data, though the mechanism is straightforward to reproduce from the description.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Information disclosure in pdfmake 0.3.8 through 0.3.11 lets attackers read local files that the setLocalAccessPolicy() restriction is supposed to block, by placing an SVG image whose href points at a local path. The flaw is reachable by unauthenticated remote attackers (CVSS v4 PR:N) but only matters when a host application builds PDFs from attacker-influenced document definitions and relies on that policy to sandbox file access; impact is limited to confidentiality. No public exploit code or confirmed active exploitation was identified at time of analysis, and a vendor patch ships in 0.3.12.

RemediationAI

Vendor-released patch: pdfmake 0.3.12 - upgrade from any 0.3.8-0.3.11 release; the fix is the imageCallback added in commit 4ad4cbf2713568304dd4cbc3090bfb912a78dfdd (https://github.com/bpampuch/pdfmake/commit/4ad4cbf2713568304dd4cbc3090bfb912a78dfdd), with details in the VulnCheck advisory (https://www.vulncheck.com/advisories/pdfmake-0.3.8-before-0.3.12-local-file-policy-bypass-via-svg-images). If upgrading is not immediately possible, treat setLocalAccessPolicy() as non-enforcing for SVG content on 0.3.8-0.3.11 and compensate: strip or reject the image/href attributes of any SVG supplied in document definitions before rendering (side effect: remote and embedded SVG images stop resolving), or disable SVG image support in your template schema entirely; alternatively, run pdfmake in a child process or container whose filesystem view exposes only the assets the renderer legitimately needs, so a bypass can only reach non-sensitive paths (side effect: operational overhead and possible breakage of legitimate local image references). Do not rely on path-prefix or whitelist filtering implemented in application code alone, since the library performs the dereference internally.

Affected VersionsENISA

pdfmake 0.3.8 <0.3.12

Affected Packages

euvd pdfmake fix: 0.3.12

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

pdfmake is a pure-JavaScript PDF generation library used in Node.js services and browsers, driven by JSON-style document definitions that may contain images (including SVG). To safely render untrusted definitions, the library exposes a local access policy (setLocalAccessPolicy) implemented through PDFDocument.validateLocalFile(), which is meant to be consulted before any local path is dereferenced and embedded. In 0.3.8 through 0.3.11 the Renderer applied that check to ordinary image nodes but not to images pulled in through SVG content, so an SVG element containing an href to a local path bypassed validation and its bytes were embedded into the generated PDF. This is CWE-73 (external control of file name or path): an attacker-supplied string is used as a file path without the mandated policy gate. The upstream fix wires an imageCallback into the SVG processing path that normalizes the reference by stripping all whitespace and then calls this.pdfDocument.validateLocalFile(src) before use - the whitespace normalization is notable because it also closes trivial whitespace-based evasion of path filters.

Know when Pdfmake gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Attacker supplies a document definition over the network with no auth or user interaction (AV:N/AC:L/PR:N/UI:N); only limited local-file confidentiality disclosure, no integrity or availability impact, no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

pdfmake 0.3.8 before 0.3.12 fails to apply the setLocalAccessPolicy() restriction to images referenced inside SVG content, allowing attackers to read blocked local files. Attackers supplying a document definition can add an SVG image href pointing to a local path, embedding restricted file contents in the generated PDF.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Medium
popular npm PDF-generation library, but bug requires specific local-access-policy config
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy