CVE-2026-24737
Arbitrary PDF Object Injection in jsPDF Acroform Module
Publication date: 2026-02-02
Last updated on: 2026-02-18
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| parall | jspdf | to 4.1.0 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-116 | The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability in jsPDF prior to version 4.1.0 allows an attacker to inject arbitrary PDF objects, including JavaScript actions, through certain Acroform module properties and methods if unsanitized input is passed. These injected JavaScript actions execute when the victim opens the PDF document. The affected API members are AcroformChoiceField.addOption, AcroformChoiceField.setOptions, AcroFormCheckBox.appearanceState, and AcroFormRadioButton.appearanceState. The issue was fixed in jsPDF version 4.1.0.
How can this vulnerability impact me? :
This vulnerability can lead to the execution of arbitrary JavaScript code when a victim opens a crafted PDF document generated using a vulnerable version of jsPDF. This can result in high confidentiality and integrity impacts, such as unauthorized actions or data exposure, potentially compromising the victim's system or data.
What immediate steps should I take to mitigate this vulnerability?
Update the jsPDF library to version 4.1.0 or later, as this version contains the fix for the vulnerability. Avoid using vulnerable API members such as AcroformChoiceField.addOption, AcroformChoiceField.setOptions, AcroFormCheckBox.appearanceState, and AcroFormRadioButton.appearanceState with unsanitized input until the update is applied.