Executive brief
jsPDF is a popular JavaScript library used to generate PDF documents in web browsers and server-side environments like Node.js. A vulnerability in how it handles images allows an attacker to provide a specially crafted GIF file that causes the application to crash or freeze by consuming all available memory. This can lead to service outages for web applications that allow users to upload or display images within generated PDFs.
Technical details
A Denial of Service (DoS) vulnerability exists in jsPDF's GIF processing logic within the `gif_support.js` and `omggif.js` modules. The library fails to validate image dimensions (width and height) specified in the GIF Logical Screen Descriptor header before allocating memory for the pixel buffer. An attacker can supply a malicious GIF with extreme dimensions (e.g., 65535x65535), leading to an 'out of memory' (OOM) error or a process crash. This affects the `addImage` and `html` methods. The issue is fixed in version 4.2.0 by implementing a check to ensure image dimensions do not exceed a 512MB threshold.
Affected products
- parallax jsPDF < 4.2.0
- Red Hat Red Hat Advanced Cluster Security for Kubernetes 4.8
- Red Hat Red Hat Advanced Cluster Security for Kubernetes 4.9
Timeline
- 2026-02-19: disclosed
- 2026-02-19: patched: Fixed in version 4.2.0
- 2026-02-19: advisory
References
- https://github.com/ZeroXJacks/CVEs/blob/main/2026/CVE-2026-25535.md
- https://github.com/parallax/jsPDF/commit/2e5e156e284d92c7d134bce97e6418756941d5e6
- https://github.com/parallax/jsPDF/releases/tag/v4.2.0
- https://github.com/parallax/jsPDF/security/advisories/GHSA-67pg-wm7f-q7fj
- https://access.redhat.com/errata/RHSA-2026:7110
- https://access.redhat.com/errata/RHSA-2026:7128
- https://access.redhat.com/security/cve/CVE-2026-25535