High severityNVD Advisory· Published Mar 18, 2026· Updated Mar 18, 2026
jsPDF has a PDF Object Injection via FreeText color
CVE-2026-31898
Description
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 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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
jspdfnpm | < 4.2.1 | 4.2.1 |
Affected products
57- osv-coords56 versionspkg:apk/chainguard/opensearch-dashboards-2-dashboards-search-relevancepkg:apk/chainguard/opensearch-dashboards-2-fips-alerting-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-2-fips-anomaly-detection-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-mapspkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-notificationspkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-observabilitypkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-query-workbenchpkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-reportingpkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-search-relevancepkg:apk/chainguard/opensearch-dashboards-2-fips-dashboards-visualizationspkg:apk/chainguard/opensearch-dashboards-2-fips-index-management-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-2-fips-ml-commons-dashboardspkg:apk/chainguard/opensearch-dashboards-2-fips-security-analytics-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-2-fips-security-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-2-ml-commons-dashboardspkg:apk/chainguard/opensearch-dashboards-2-security-analytics-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-alerting-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-anomaly-detection-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-dashboards-mapspkg:apk/chainguard/opensearch-dashboards-3-dashboards-notificationspkg:apk/chainguard/opensearch-dashboards-3-dashboards-observabilitypkg:apk/chainguard/opensearch-dashboards-3-dashboards-query-workbenchpkg:apk/chainguard/opensearch-dashboards-3-dashboards-reportingpkg:apk/chainguard/opensearch-dashboards-3-dashboards-search-relevancepkg:apk/chainguard/opensearch-dashboards-3-fips-alerting-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-fips-anomaly-detection-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-mapspkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-notificationspkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-observabilitypkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-query-workbenchpkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-reportingpkg:apk/chainguard/opensearch-dashboards-3-fips-dashboards-search-relevancepkg:apk/chainguard/opensearch-dashboards-3-fips-index-management-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-fips-ml-commons-dashboardspkg:apk/chainguard/opensearch-dashboards-3-fips-security-analytics-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-fips-security-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-index-management-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-ml-commons-dashboardspkg:apk/chainguard/opensearch-dashboards-3-security-analytics-dashboards-pluginpkg:apk/chainguard/opensearch-dashboards-3-security-dashboards-pluginpkg:apk/wolfi/opensearch-dashboards-2-dashboards-search-relevancepkg:apk/wolfi/opensearch-dashboards-2-ml-commons-dashboardspkg:apk/wolfi/opensearch-dashboards-2-security-analytics-dashboards-pluginpkg:apk/wolfi/opensearch-dashboards-3-alerting-dashboards-pluginpkg:apk/wolfi/opensearch-dashboards-3-anomaly-detection-dashboards-pluginpkg:apk/wolfi/opensearch-dashboards-3-dashboards-mapspkg:apk/wolfi/opensearch-dashboards-3-dashboards-notificationspkg:apk/wolfi/opensearch-dashboards-3-dashboards-observabilitypkg:apk/wolfi/opensearch-dashboards-3-dashboards-query-workbenchpkg:apk/wolfi/opensearch-dashboards-3-dashboards-reportingpkg:apk/wolfi/opensearch-dashboards-3-dashboards-search-relevancepkg:apk/wolfi/opensearch-dashboards-3-index-management-dashboards-pluginpkg:apk/wolfi/opensearch-dashboards-3-ml-commons-dashboardspkg:apk/wolfi/opensearch-dashboards-3-security-analytics-dashboards-pluginpkg:apk/wolfi/opensearch-dashboards-3-security-dashboards-pluginpkg:npm/jspdf
< 2.19.5-r2+ 55 more
- (no CPE)range: < 2.19.5-r2
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r1
- (no CPE)range: < 2.19.5-r2
- (no CPE)range: < 2.19.5-r2
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r6
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 2.19.5-r2
- (no CPE)range: < 2.19.5-r2
- (no CPE)range: < 2.19.5-r2
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 3.5.0-r9
- (no CPE)range: < 4.2.1
Patches
Vulnerability mechanics
References
6- github.com/advisories/GHSA-7x6v-j9x4-qf24ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-31898ghsaADVISORY
- github.com/parallax/jsPDF/blob/b1607a9391d4cd65ea7ade25998aea8345ae1be3/src/modules/annotations.jsghsax_refsource_MISCWEB
- github.com/parallax/jsPDF/commit/4155c4819d5eca284168e51e0e1e81126b4f14b8ghsax_refsource_MISCWEB
- github.com/parallax/jsPDF/releases/tag/v4.2.1ghsax_refsource_MISCWEB
- github.com/parallax/jsPDF/security/advisories/GHSA-7x6v-j9x4-qf24ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.