CVE-2026-31898 jsPDF has a PDF Object Injection via FreeText color
Attackers can inject arbitrary PDF objects, including JavaScript actions, via unsanitized input in the createAnnotation method, potentially executing code when the PDF is opened.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-31898?
CVE-2026-31898 is a high-severity code injection vulnerability in parallax jsPDF, published on 18 Mar 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.2.1, user control of arguments of the `createAnnotation` method allows users to inject arbitrary PDF objects, such as JavaScript actions. If given the possibility to pass unsanitized input to the following method, a user can inject arbitrary PDF objects, such as JavaScript actions, which might trigger when the PDF is opened or interacted with the `createAnnotation`: `color` parameter. The vulnerability has been fixed in [email protected]. As a workaround, sanitize user input before passing it to the vulnerable API members.
Which versions are affected by CVE-2026-31898?
2 open source packages ship an affected version, including jspdf. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
jspdf npm | All versions | 4.2.1 |
jspdf npm | All versions | 4.2.1 |
Products include Parall Jspdf.
How do I fix CVE-2026-31898?
Upgrade jspdf to 4.2.1 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-31898 being exploited?
There is no known exploitation of CVE-2026-31898 in the wild and no public exploit code.
Other vulnerabilities in parallax jsPDF
- CVE-2026-31938 jsPDF has HTML Injection in New Window paths
- CVE-2025-68428 jsPDF has Local File Inclusion/Path Traversal vulnerability
- CVE-2026-25535 jsPDF Affected by Client-Side/Server-Side Denial of Service via Malicious GIF Dimensions
- CVE-2026-24133 jsPDF Affected by Denial of Service (DoS) via Unvalidated BMP Dimensions in BMPDecoder
- CVE-2025-57810 jsPDF Parsing of Corrupt PNGs Leads to Potential Denial of Service (DoS)
Sources
Also known as GHSA-7x6v-j9x4-qf24, MINI-gj85-vwx7-xcf8, MINI-r2qf-qqx5-2x5x, MINI-w9rj-7g23-jvmj, ROOT-APP-NPM-CVE-2026-31898.