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 [email protected]. 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
58- 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
11- github.com/parallax/jsPDF/blob/b1607a9391d4cd65ea7ade25998aea8345ae1be3/src/modules/annotations.jsnvdPatchWEB
- github.com/parallax/jsPDF/commit/4155c4819d5eca284168e51e0e1e81126b4f14b8nvdPatchWEB
- github.com/advisories/GHSA-7x6v-j9x4-qf24ghsaADVISORY
- github.com/parallax/jsPDF/security/advisories/GHSA-7x6v-j9x4-qf24nvdMitigationVendor AdvisoryWEB
- nvd.nist.gov/vuln/detail/CVE-2026-31898ghsaADVISORY
- github.com/parallax/jsPDF/releases/tag/v4.2.1nvdRelease NotesWEB
- access.redhat.com/errata/RHSA-2026:7110nvd
- access.redhat.com/errata/RHSA-2026:7128nvd
- access.redhat.com/security/cve/CVE-2026-31898nvd
- bugzilla.redhat.com/show_bug.cginvd
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31898.jsonnvd
News mentions
0No linked articles in our index yet.