CVE-2025-68428: jsPDF has Local File Inclusion/Path Traversal vulnerability
jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.0.0, user control of the first argument of the loadFile method in the node.js build allows local file inclusion/path traversal. If given the possibility to pass unsanitized paths to the loadFile method, a user can retrieve file contents of arbitrary files in the local file system the node process is running in. The file contents are included verbatim in the generated PDFs. Other affected methods are `addImage`, `html`, and `addFont`. Only the node.js builds of the library are affected, namely the `dist/jspdf.node.js` and `dist/jspdf.node.min.js` files. The vulnerability has been fixed in jsPDF@4.0.0. This version restricts file system access per default. This semver-major update does not introduce other breaking changes. Some workarounds areavailable. With recent node versions, jsPDF recommends using the `--permission` flag in production. The feature was introduced experimentally in v20.0.0 and is stable since v22.13.0/v23.5.0/v24.0.0. For older node versions, sanitize user-provided paths before passing them to jsPDF.
Security readout for executives and security teams
Plain-English summary
Affected server-side PDF services may let an unauthenticated user cause sensitive local files to appear inside generated PDFs. Exposure requires a Node.js build of jsPDF before 4.0.0 and unsanitized user control over file paths. Browser builds are not identified as affected.
Executive priority
Treat as immediate for externally reachable PDF-generation services with affected Node.js builds. Prioritize version discovery and input-flow review, then upgrade promptly. Lower urgency only after confirming the browser build is used or users cannot influence paths supplied to affected methods.
Technical view
CVE-2025-68428 is a local file inclusion/path traversal flaw in jsPDF Node.js builds before 4.0.0. User-controlled paths reaching loadFile, addImage, html, or addFont can cause arbitrary locally readable files to be included verbatim in PDFs. Version 4.0.0 restricts filesystem access by default.
Likely exposure
Highest risk exists in internet-facing Node.js applications that generate PDFs using affected jsPDF bundles and pass request-derived paths into affected methods. Applications using browser builds, jsPDF 4.0.0 or later, or paths that users cannot influence are not described as vulnerable.
Exploitation context
The supplied CVSS 4.0 score is 9.2 and indicates low-complexity, unauthenticated network exploitation with high confidentiality impact. However, exploitation depends on application data flow and the Node process's file permissions. The source bundle marks this CVE as absent from KEV and provides no evidence of active exploitation.
Researcher notes
The affected artifacts are dist/jspdf.node.js and dist/jspdf.node.min.js. The impact is disclosure of files readable by the Node process through verbatim PDF inclusion; integrity and availability impacts are not identified. Review wrappers and indirect calls because affected paths may enter through several high-level methods.
Mitigation direction
Upgrade jsPDF to version 4.0.0 or later.
Sanitize and strictly allowlist user-provided paths before they reach affected methods.
Use Node.js filesystem permissions in production where supported, following jsPDF guidance.
Limit the Node process to files required for PDF generation.
Review vendor guidance before relying on workarounds instead of upgrading.
Validation and detection
Inventory jsPDF versions and confirm whether Node-specific distribution files are deployed.
Trace request-derived values reaching loadFile, addImage, html, and addFont.
Confirm upgraded deployments run jsPDF 4.0.0 or later.
Verify the Node process cannot read unrelated secrets, configuration, or application files.
In non-production, confirm unauthorized paths are rejected and file contents never appear in generated PDFs.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-35: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-35 · source CWE mapping
Path Traversal: '.../...//'
Path Traversal: '.../...//' represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
External Control of File Name or Path represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.