GitHub Advisoryadvisory · npm
GHSA-95fx-jjr5-f39c jsPDF Vulnerable to Denial of Service (DoS) via Unvalidated BMP Dimensions in BMPDecoder
HIGH
Official page ↗
- Aliases
- CVE-2026-24133
- Ecosystem
- npm
- Packages
- jspdf
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
- Weaknesses
- CWE-20, CWE-400, CWE-770
- Reviewed
- 2026-02-02
Affected packages
• npm jspdf: < 4.1.0 → fixed in 4.1.0
Description
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.
Related
Alias · CVE (1)
- CVE-2026-24133 jsPDF is a library to generate PDFs in JavaScript. vulnerability
References
- https://github.com/parallax/jsPDF/security/advisories/GHSA-95fx-jjr5-f39c web
- https://nvd.nist.gov/vuln/detail/CVE-2026-24133 advisory
- https://github.com/parallax/jsPDF/commit/ae4b93f76d8fc1baa5614bd5fdb5d174c3b85f0d web
- https://github.com/parallax/jsPDF package
- https://github.com/parallax/jsPDF/releases/tag/v4.1.0 web