CVE-2026-31898 jsPDF has a PDF Object Injection via FreeText color

High 8.1 Published Updated

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.

Weakness: CWE-94, CWE-116

Which versions are affected by CVE-2026-31898?

2 open source packages ship an affected version, including jspdf. It affects 1 product.

PackageAffectedFixed in
jspdf npmAll versions4.2.1
jspdf npmAll versions4.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.

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.

Is CVE-2026-31898 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free