CVE-2025-68428
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 80 - wyżej niż 80% wszystkich znanych CVE
Streszczenie
Biblioteka jsPDF w wersji przed 4.0.0 zawiera podatność na lokalne dołączanie plików i przechodzenie po ścieżkach. Atakujący może wykorzystać metodę loadFile, a także addImage, html i addFont, aby odczytać dowolne pliki z systemu plików serwera. Treść plików jest następnie umieszczana w generowanych dokumentach PDF.
Ocena ryzyka
Ryzyko polega na możliwości wycieku poufnych danych, takich jak pliki konfiguracyjne, hasła czy dane klientów, które mogą zostać odczytane i osadzone w PDF-ach. Atakujący może uzyskać dostęp do wrażliwych informacji bez autoryzacji.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę jsPDF do wersji 4.0.0 lub nowszej. W przypadku braku możliwości aktualizacji, należy użyć flagi --permission w Node.js (od wersji 20.0.0) lub dokładnie oczyścić ścieżki przekazywane do metod biblioteki.
Inne podatności w jsPDF
Zobacz wszystkie- CVE-2026-31938Krytyczne
Biblioteka jsPDF w wersji przed 4.2.1 zawiera podatność na wstrzykiwanie kodu HTML (w tym skryptów) poprzez kontrolę argumentu `options` funkcji `output`. Atakujący może przekazać złośliwe wartości, które po wygenerowaniu i otwarciu pliku PDF w przeglądarce ofiary wykonują się w jej kontekście.
- CVE-2026-31898Wysokie
Biblioteka jsPDF w wersji przed 4.2.1 zawiera podatność na wstrzykiwanie dowolnych obiektów PDF, w tym akcji JavaScript, poprzez parametr `color` metody `createAnnotation`. Atakujący może wykorzystać to do wykonania złośliwego kodu po otwarciu pliku PDF.
- CVE-2026-25940Wysokie
Biblioteka jsPDF przed wersją 4.2.0 zawiera podatność umożliwiającą wstrzyknięcie dowolnych obiektów PDF, w tym akcji JavaScript, poprzez kontrolę właściwości i metod modułu Acroform. Atak może zostać wykonany, gdy ofiara najedzie kursorem na opcję radio.
- CVE-2026-25755Wysokie
Biblioteka jsPDF przed wersją 4.2.0 zawiera podatność polegającą na możliwości wstrzyknięcia dowolnych obiektów PDF do generowanego dokumentu poprzez kontrolę argumentu metody `addJS`. Atakujący może ominąć ograniczniki ciągów JavaScript i zmienić strukturę dokumentu lub wykonać złośliwe działania.
- CVE-2026-25535Wysokie
Biblioteka jsPDF przed wersją 4.2.0 zawiera podatność na atak DoS poprzez kontrolę pierwszego argumentu metody `addImage`. Przekazanie złośliwego pliku GIF z dużymi wymiarami w nagłówku prowadzi do nadmiernego przydziału pamięci i odmowy usługi. Podobny problem dotyczy metody `html`.
- CVE-2026-24737Wysokie
Biblioteka jsPDF przed wersją 4.1.0 zawiera podatność umożliwiającą wstrzyknięcie dowolnych obiektów PDF, w tym akcji JavaScript, poprzez kontrolę nad właściwościami i metodami modułu Acroform. Atakujący może wykorzystać nieoczyszczone dane wejściowe w metodach takich jak AcroformChoiceField.addOption, AcroformChoiceField.setOptions, AcroFormCheckBox.appearanceState i AcroFormRadioButton.appearanceState.
Oryginalny opis (angielski, źródło NVD)
jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.0.0, user control of the first argument of the loadFile method in the node.js build allows local file inclusion/path traversal. If given the possibility to pass unsanitized paths to the loadFile method, a user can retrieve file contents of arbitrary files in the local file system the node process is running in. The file contents are included verbatim in the generated PDFs. Other affected methods are `addImage`, `html`, and `addFont`. Only the node.js builds of the library are affected, namely the `dist/jspdf.node.js` and `dist/jspdf.node.min.js` files. The vulnerability has been fixed in [email protected]. This version restricts file system access per default. This semver-major update does not introduce other breaking changes. Some workarounds areavailable. With recent node versions, jsPDF recommends using the `--permission` flag in production. The feature was introduced experimentally in v20.0.0 and is stable since v22.13.0/v23.5.0/v24.0.0. For older node versions, sanitize user-provided paths before passing them to jsPDF.

