CRITICAL🇬🇧 English

CVE-2026-31938

XSS w bibliotece jsPDF — wstrzyknięcie skryptów przez argument output()

CVSS 9.6v3.1pub. 2026-03-18upd. 2026-06-30

Biblioteka jsPDF przed wersją 4.2.1 jest podatna na atak XSS polegający na wstrzyknięciu dowolnego kodu HTML (w tym skryptów) do kontekstu przeglądarki, w której otwierany jest wygenerowany plik PDF. Podatność umożliwia atakującemu wykonanie złośliwych skryptów w przeglądarce ofiary.

Pokaż oryginał (EN)

jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.2.1, user control of the `options` argument of the `output` function allows attackers to inject arbitrary HTML (such as scripts) into the browser context the created PDF is opened in. The vulnerability can be exploited in the following scenario: the attacker provides values for the output options, for example via a web interface. These values are then passed unsanitized (automatically or semi-automatically) to the attack victim. The victim creates and opens a PDF with the attack vector using one of the vulnerable method overloads inside their browser. The attacker can thus inject scripts that run in the victims browser context and can extract or modify secrets from this context. The vulnerability has been fixed in jspdf@4.2.1. As a workaround, sanitize user input before passing it to the output method.

🤖 Analiza AI
Jak działa

Atakujący kontroluje wartości argumentu `options` przekazywanego do funkcji `output()` biblioteki jsPDF — na przykład poprzez formularz lub inny interfejs webowy aplikacji. Wartości te są następnie przekazywane bez sanityzacji do ofiary, która generuje i otwiera plik PDF w przeglądarce korzystając z jednego z podatnych przeciążeń metody. Brak walidacji danych wejściowych pozwala na osadzenie w pliku PDF złośliwego kodu HTML lub JavaScript, który zostaje wykonany w kontekście przeglądarki ofiary.

Skutki

Atakujący może wykonać dowolny kod JavaScript w przeglądarce ofiary, co umożliwia kradzież lub modyfikację poufnych danych (np. sesji, tokenów, danych formularzy) dostępnych w danym kontekście przeglądarkowym.

Mitygacja

Należy zaktualizować bibliotekę jsPDF do wersji 4.2.1 lub nowszej. Jako obejście tymczasowe (workaround) — sanityzować dane wejściowe użytkownika przed przekazaniem ich do metody output().

Kogo dotyczy

Biblioteka jsPDF (Parallax) w wersjach poprzedzających 4.2.1

Uwagi

Podatność wymaga interakcji użytkownika (otworzenia pliku PDF w przeglądarce) oraz dostarczenia złośliwych danych wejściowych przez atakującego. Zakres podatności wykracza poza domenę źródłową (CVSS: Scope Changed), co podnosi jej ocenę do poziomu CRITICAL (9.6).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:L
  • Parall Jspdf

    APP
    Parall
    < 4.2.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
XSS
CWE
Referencje

Powiązane podatności

CVE-2025-68428CRITICAL9.2PL ✓ten sam produkt

Path traversal w jsPDF (Node.js) umożliwia odczyt dowolnych plików

CVE-2026-31898HIGH8.1ten sam produkt

jsPDF is a library to generate PDFs in JavaScript. Prior to version 4.2.1, user control of arguments of the `c...

CVE-2026-25940HIGH8.1ten sam produkt

jsPDF is a library to generate PDFs in JavaScript. Prior to 4.2.0, user control of properties and methods of t...

CVE-2026-25535HIGH8.7ten sam produkt

jsPDF is a library to generate PDFs in JavaScript. Prior to 4.2.0, user control of the first argument of the `...

CVE-2026-25755HIGH8.1ten sam produkt

jsPDF is a library to generate PDFs in JavaScript. Prior to 4.2.0, user control of the argument of the `addJS`...