CVE-2026-24133
jsPDF Vulnerable to Denial of Service (DoS) via Unvalidated BMP Dimensions in BMPDecoder
Impact
### Impact User control of the first argument of the `addImage` method results in Denial of Service. If given the possibility to pass unsanitized image data or URLs to the `addImage` method, a user can provide a harmful BMP file that results in out of memory errors and denial of service. Harmful BMP files have large width and/or height entries in their headers, wich lead to excessive memory allocation. Other affected methods are: `html`. Example attack vector: ```js import { jsPDF } from "jspdf" // malicious BMP image data with large width/height headers const payload = ... const doc = new jsPDF(); doc.addImage(payload, "BMP", 0, 0, 100, 100); ``` ### Patches The vulnerability has been fixed in jsPDF 4.1.0. Upgrade to jspdf@>=4.1.0. ### Workarounds Sanitize image data or URLs before passing it to the addImage method or one of the other affected methods.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | jspdf | <= 4.0.0 | 4.1.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Parall | Jspdf | before 4.1.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/parallax/jsPDF/commit/ae4b93f76d8fc1baa5614bd5fdb5d174c3b85f0d
- https://github.com/parallax/jsPDF/releases/tag/v4.1.0
- https://github.com/parallax/jsPDF/security/advisories/GHSA-95fx-jjr5-f39c
- https://github.com/advisories/GHSA-95fx-jjr5-f39c
- https://nvd.nist.gov/vuln/detail/CVE-2026-24133