{"id":"CVE-2026-31898","title":"jsPDF is a library to generate PDFs in JavaScript","summary":"jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.2.1, user control of arguments of the `createAnnotation` method allows users to inject arbitrary PDF objects, such as JavaScript actions. If given the possibility to p…","severity":"high","cvss":8.1,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","cwe":["CWE-116","CWE-94"],"vendor":"parall","product":"jspdf","affected":["jspdf < 4.2.1"],"patched":["jspdf 4.2.1"],"published":"2026-03-18","updated":"2026-07-20","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-31898","references":[{"url":"https://github.com/parallax/jsPDF/blob/b1607a9391d4cd65ea7ade25998aea8345ae1be3/src/modules/annotations.js#L193-L208","label":"security-advisories@github.com"},{"url":"https://github.com/parallax/jsPDF/commit/4155c4819d5eca284168e51e0e1e81126b4f14b8","label":"security-advisories@github.com"},{"url":"https://github.com/parallax/jsPDF/releases/tag/v4.2.1","label":"security-advisories@github.com"},{"url":"https://github.com/parallax/jsPDF/security/advisories/GHSA-7x6v-j9x4-qf24","label":"security-advisories@github.com"},{"url":"https://access.redhat.com/errata/RHSA-2026:7110","label":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c"},{"url":"https://access.redhat.com/errata/RHSA-2026:7128","label":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c"},{"url":"https://access.redhat.com/security/cve/CVE-2026-31898","label":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2448547","label":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31898.json","label":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c"}],"tags":["nvd"],"epss":0.00356,"epssPercentile":0.29419,"ingestedAt":"2026-07-20T12:38:40.496Z","slug":"CVE-2026-31898","body":"## Overview\n\njsPDF is a library to generate PDFs in JavaScript. Prior to version 4.2.1, user control of arguments of the `createAnnotation` method allows users to inject arbitrary PDF objects, such as JavaScript actions. If given the possibility to pass unsanitized input to the following method, a user can inject arbitrary PDF objects, such as JavaScript actions, which might trigger when the PDF is opened or interacted with the `createAnnotation`: `color` parameter. The vulnerability has been fixed in jsPDF@4.2.1. As a workaround, sanitize user input before passing it to the vulnerable API members.\n\n## Affected\n\n- `jspdf < 4.2.1`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `jspdf 4.2.1`","depth":"twilight","depthScore":45,"depthScoreParts":{"impact":44.6,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}