Platform
nodejs
Component
jspdf
Opgelost in
4.2.2
4.2.1
CVE-2026-31938 is een kritieke Cross-Site Scripting (XSS) kwetsbaarheid in de jspdf Node.js bibliotheek. Deze kwetsbaarheid stelt aanvallers in staat om schadelijke HTML-code, inclusief scripts, in de browser van een gebruiker te injecteren wanneer een PDF-bestand wordt geopend. De kwetsbaarheid treedt op in versies van jspdf vóór 4.2.1 en is op 17 maart 2026 openbaar gemaakt. Een upgrade naar versie 4.2.1 of hoger is vereist om de kwetsbaarheid te verhelpen.
De kwetsbaarheid in jspdf maakt het mogelijk voor aanvallers om willekeurige HTML-code, inclusief JavaScript, in de browser van een gebruiker te injecteren. Dit kan leiden tot een breed scala aan aanvallen, waaronder het stelen van sessiecookies, het omleiden van gebruikers naar kwaadaardige websites en het uitvoeren van acties namens de gebruiker. De kwetsbaarheid wordt uitgebuit door kwaadwillenden die controle uitoefenen op de 'options' parameter van de 'output' functie. Specifiek zijn de 'pdfobjectnewwindow', 'pdfjsnewwindow' en 'dataurlnewwindow' overloads en de bijbehorende opties kwetsbaar. Het injecteren van schadelijke code in de gegenereerde HTML kan leiden tot volledige controle over de browser van het slachtoffer.
Er is momenteel geen publieke exploitatie van CVE-2026-31938 bekend, maar de kwetsbaarheid is kritiek vanwege de potentiële impact. De kwetsbaarheid is toegevoegd aan de CISA KEV catalogus, wat de urgentie van mitigatie benadrukt. Het is aannemelijk dat er in de toekomst Proof-of-Concept (PoC) exploits beschikbaar komen, waardoor de kans op actieve uitbuiting toeneemt. De kwetsbaarheid is vergelijkbaar met andere XSS-kwetsbaarheden waarbij input niet correct wordt gevalideerd en ontsmet.
Applications that utilize the jspdf library to generate PDFs are at risk, particularly those that accept user-provided data to customize the PDF content. This includes web applications, desktop applications, and any other software that integrates with jspdf. Shared hosting environments where multiple applications share the same Node.js environment are also at increased risk, as a vulnerability in one application could potentially compromise others.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -like '*node*'} | Select-Object Name, Id, Path• nodejs / supply-chain:
Get-ChildItem -Path Env:NODE_PATH -Recurse -Filter "jspdf*" | Select-Object FullName• generic web:
Use curl or wget to check for endpoints that generate PDFs and attempt to inject HTML payloads into parameters related to PDF options. Examine the generated PDF file for signs of injected script.
disclosure
Exploit Status
EPSS
0.04% (12% percentiel)
CISA SSVC
CVSS-vector
De primaire mitigatie voor CVE-2026-31938 is het upgraden van de jspdf bibliotheek naar versie 4.2.1 of hoger. Als een directe upgrade onmogelijk is vanwege compatibiliteitsproblemen, overweeg dan een tijdelijke oplossing door de input van de 'options' parameter te valideren en te ontsmetten om te voorkomen dat schadelijke HTML-code wordt geïnjecteerd. Implementeer een Web Application Firewall (WAF) met regels die HTML-injectie in PDF-generatie voorkomen. Monitor logbestanden op verdachte patronen die wijzen op pogingen tot exploitatie, zoals ongebruikelijke HTML-tags of JavaScript-code in PDF-generatieaanvragen. Na de upgrade, controleer de PDF-generatie functionaliteit om te bevestigen dat de kwetsbaarheid is verholpen.
Werk de jsPDF bibliotheek bij naar versie 4.2.1 of hoger. Als alternatief, sanitiseer gebruikersinvoer voordat deze aan de output methode wordt doorgegeven om HTML-injectie te voorkomen.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
CVE-2026-31938 is a critical XSS vulnerability in the jspdf Node.js library, allowing attackers to inject malicious HTML into generated PDFs.
You are affected if you are using jspdf versions prior to 4.2.1 and your application allows user-controlled data to influence PDF generation options.
Upgrade to jspdf version 4.2.1 or later. If immediate upgrade is not possible, implement input validation and sanitization on PDF generation options.
No active exploitation campaigns have been reported, but public proof-of-concept exploits are likely to emerge.
Refer to the jspdf project's repository and related security advisories for the latest information.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.