Skip to content
Heist/ feed
Back to feed
High

jsPDF Affected by Client-Side/Server-Side Denial of Service via Malicious GIF Dimensions

Type: advisorySources: OSV

jsPDF is a library to generate PDFs in JavaScript. Prior to 4.2.0, 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 GIF file that results in out of memory errors and denial of service. Harmful GIF files have large width and/or height entries in their headers, which lead to excessive memory allocation. Other affected methods are: `html`. The vulnerability has been fixed in jsPDF 4.2.0. As a workaround, sanitize image data or URLs before passing it to the addImage method or one of the other affected methods.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-25535
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 19:44 UTC · Revision 1

Source evidence

jsPDF Affected by Client-Side/Server-Side Denial of Service via Malicious GIF Dimensions

core-osv · Original source

Published 19 Feb 2026, 14:34 UTC

jsPDF is a library to generate PDFs in JavaScript. Prior to 4.2.0, 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 GIF file that results in out of memory errors and denial of service. Harmful GIF files have large width and/or height entries in their headers, which lead to excessive memory allocation. Other affected methods are: `html`. The vulnerability has been fixed in jsPDF 4.2.0. As a workaround, sanitize image data or URLs before passing it to the addImage method or one of the other affected methods.

osv:CVE-2026-25535
Complete source record
{
  "id": "0d4bd035750c987d145b223ff8a7a4518875dc09c2022304b7df584ad92be229",
  "url": "https://osv.dev/vulnerability/CVE-2026-25535",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "jsPDF Affected by Client-Side/Server-Side Denial of Service via Malicious GIF Dimensions",
    "summary": "jsPDF is a library to generate PDFs in JavaScript. Prior to 4.2.0, 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 GIF file that results in out of memory errors and denial of service. Harmful GIF files have large width and/or height entries in their headers, which lead to excessive memory allocation. Other affected methods are: `html`. The vulnerability has been fixed in jsPDF 4.2.0. As a workaround, sanitize image data or URLs before passing it to the addImage method or one of the other affected methods.",
    "evidence": "osv:CVE-2026-25535",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-25535",
      "aliases": [
        "CVE-2026-25535",
        "GHSA-67pg-wm7f-q7fj"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/parallax/jspdf",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "7af912cadaf0f9a2ad28afe7af53033a2c61de64"
                },
                {
                  "fixed": "2e5e156e284d92c7d134bce97e6418756941d5e6"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:parall:jspdf:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "4.2.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "2e5e156e284d92c7d134bce97e6418756941d5e6"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7af912cadaf0f9a2ad28afe7af53033a2c61de64"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v4.2.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.1.0",
            "v4.0.0",
            "v3.0.4",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v2.5.2",
            "v2.5.1",
            "v2.5.0",
            "v2.4.0",
            "v2.3.1",
            "v2.3.0",
            "v2.2.0",
            "v2.1.1",
            "v2,1,0",
            "v2.0.0",
            "v1.5.3",
            "v1.5.2",
            "v1.5.1",
            "v1.5.0",
            "v1.4.1",
            "v1.4.0",
            "v.1.4.0",
            "v1.3.5",
            "1.3.4",
            "v1.3.4",
            "v1.3.3",
            "v1.3.0",
            "v1.2.61",
            "v1.2.60",
            "1.1.135",
            "v1.0.272",
            "v1.0.178",
            "v1.0.150",
            "v1.0.138",
            "v1.0.119",
            "v1.0.116",
            "v1.0.115",
            "v1.0.106",
            "v0.9.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25535.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.869476095Z",
      "provider": "osv",
      "references": [
        "https://github.com/ZeroXJacks/CVEs/blob/main/2026/CVE-2026-25535.md",
        "https://github.com/parallax/jsPDF/releases/tag/v4.2.0",
        "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-25535.json",
        "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",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25535.json",
        "https://github.com/parallax/jsPDF/security/advisories/GHSA-67pg-wm7f-q7fj",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-25535",
        "https://bugzilla.redhat.com/show_bug.cgi?id=2440992",
        "https://github.com/parallax/jsPDF/commit/2e5e156e284d92c7d134bce97e6418756941d5e6"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400",
          "CWE-770"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25535.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-25535",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489289,
  "published_at": "2026-02-19T14:34:05.648+00:00"
}