CRITICAL✓ PATCH🇬🇧 English

CVE-2020-14968

Błąd weryfikacji podpisu RSA-PSS w bibliotece jsrsasign (Node.js)

CVSS 9.8v3.1pub. 2020-06-22upd. 2026-06-22

Biblioteka jsrsasign przed wersją 8.0.17 dla Node.js nieprawidłowo weryfikuje podpisy RSASSA-PSS, akceptując zmodyfikowane podpisy z prefiksem bajtów '\0' jako prawidłowe. Umożliwia to atakującemu fałszowanie podpisów cyfrowych oraz potencjalne wywołanie uszkodzenia pamięci.

Pokaż oryginał (EN)

An issue was discovered in the jsrsasign package before 8.0.17 for Node.js. Its RSASSA-PSS (RSA-PSS) implementation does not detect signature manipulation/modification by prepending '\0' bytes to a signature (it accepts these modified signatures as valid). An attacker can abuse this behavior in an application by creating multiple valid signatures where only one signature should exist. Also, an attacker might prepend these bytes with the goal of triggering memory corruption issues.

🤖 Analiza AI
Jak działa

Implementacja algorytmu RSASSA-PSS (RSA-PSS) w bibliotece jsrsasign nie wykrywa manipulacji podpisem polegającej na poprzedzeniu go jednym lub wieloma bajtami o wartości '\0'. Zmodyfikowany w ten sposób podpis jest przez bibliotekę akceptowany jako prawidłowy. Atakujący może wykorzystać tę lukę do tworzenia wielu pozornie poprawnych podpisów w miejscach, gdzie powinien istnieć tylko jeden unikalny podpis. Dodatkowo, dołączanie takich bajtów może potencjalnie prowadzić do problemów z uszkodzeniem pamięci (memory corruption) w podatnej aplikacji — co klasyfikuje podatność jako CWE-119 (improper restriction of operations within bounds of a memory buffer).

Skutki

Atakujący może ominąć mechanizmy weryfikacji podpisu cyfrowego, tworząc wielokrotne fałszywe podpisy akceptowane jako prawidłowe, a w określonych warunkach może również wywołać uszkodzenie pamięci prowadzące do wykonania arbitralnego kodu (RCE).

Mitygacja

Należy zaktualizować bibliotekę jsrsasign do wersji 8.0.17 lub nowszej (dostępna również wersja 8.0.18). Użytkownicy produktów NetApp MAX Data powinni zapoznać się z poradnikiem bezpieczeństwa NetApp (ntap-20200724-0001) i zastosować wskazane tam poprawki.

Kogo dotyczy

Pakiet jsrsasign (Kjur) w wersjach przed 8.0.17 dla Node.js; produkty NetApp MAX Data korzystające z tej biblioteki.

Uwagi

Podatność została zgłoszona jako issue #438 w repozytorium GitHub projektu jsrsasign. Poprawka została wydana w wersji 8.0.17, a następnie w 8.0.18.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Kjur Jsrsasign

    APP
    Kjur
    < 8.0.17
  • Netapp Max Data

    APP
    Netapp
    wszystkie wersje
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2026-4599CRITICAL9.3PL ✓ten sam produkt

Odtworzenie klucza prywatnego DSA przez błąd porównań w jsrsasign

CVE-2021-30246CRITICAL9.1PL ✓ten sam produkt

Błędna weryfikacja podpisów RSA PKCS#1 v1.5 w jsrsasign

CVE-2020-15801CRITICAL9.8PL ✓ten sam produkt

Python 3.8.4 – ignorowanie ograniczeń sys.path z pliku python38._pth

CVE-2020-14967CRITICAL9.8PL ✓ten sam produkt

Błąd weryfikacji szyfrogramu RSA PKCS1 v1.5 w bibliotece jsrsasign

CVE-2026-4598HIGH7.7ten sam produkt

Versions of the package jsrsasign before 11.1.1 are vulnerable to Infinite loop via the bnModInverse function ...