CVE-2026-4601
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
Biblioteka jsrsasign przed wersją 11.1.1 zawiera podatność polegającą na braku kroku kryptograficznego w implementacji podpisu DSA. Atakujący może odzyskać klucz prywatny, wymuszając wygenerowanie nieprawidłowego podpisu, gdy r lub s wynosi zero, bez ponawiania próby.
Ocena ryzyka
Ryzyko polega na możliwości całkowitej kompromitacji klucza prywatnego DSA, co umożliwia podszywanie się pod autentyczne podpisy i naruszenie integralności danych w systemach używających tej biblioteki.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę jsrsasign do wersji 11.1.1 lub nowszej, która zawiera poprawkę eliminującą tę podatność.
Inne podatności w jsrsasign
Zobacz wszystkie- CVE-2026-4599Krytyczne
Biblioteka jsrsasign w wersjach od 7.0.0 do 11.1.0 zawiera podatność niepełnego porównania w funkcjach getRandomBigIntegerZeroToMax i getRandomBigIntegerMinToMax. Atakujący może odzyskać klucz prywatny poprzez wykorzystanie błędnych sprawdzeń compareTo, które akceptują kandydatów spoza zakresu, co powoduje obciążenie nonce DSA podczas generowania podpisu.
- CVE-2021-30246Krytyczne
W pakiecie jsrsasign w wersjach do 10.1.13 dla Node.js, niektóre nieprawidłowe podpisy RSA PKCS#1 v1.5 są błędnie uznawane za ważne. Nie ma znanego praktycznego ataku wykorzystującego tę podatność.
- CVE-2026-4603Średnie
Wersje pakietu jsrsasign przed 11.1.1 są podatne na błąd dzielenia przez zero, co może prowadzić do nieprawidłowego działania operacji z kluczem publicznym RSA. Atakujący może wymusić, aby operacje te zwracały z góry określone zera, ukrywając błędy związane z 'nieprawidłowym kluczem'.
- CVE-2026-4602Wysokie
Podatność w bibliotece jsrsasign przed wersją 11.1.1 wynika z nieprawidłowej konwersji między typami liczbowymi podczas obsługi ujemnych wykładników w pliku ext/jsbn2.js. Atakujący może wymusić obliczenie nieprawidłowych odwrotności modularnych i złamać weryfikację podpisu, wywołując funkcję modPow z ujemnym wykładnikiem.
- CVE-2026-4600Wysokie
Biblioteka jsrsasign przed wersją 11.1.1 zawiera podatność polegającą na nieprawidłowej weryfikacji podpisów kryptograficznych DSA. Atakujący może sfałszować podpis DSA lub certyfikat X.509, który zostanie zaakceptowany przez funkcję X509.verifySignature(), poprzez dostarczenie złośliwych parametrów domeny (np. g=1, y=1, r=1).
- CVE-2026-4598Wysokie
Podatność w bibliotece jsrsasign przed wersją 11.1.1 powoduje nieskończoną pętlę w funkcji bnModInverse w pliku ext/jsbn2.js. Atakujący może trwale zawiesić proces, przekazując do metody BigInteger.modInverse wartości zero lub ujemne.
- CVE-2024-21484Wysokie
Wersje pakietu jsrsasign przed 11.0.0 są podatne na niezgodność obserwowalną w procesie deszyfrowania RSA PKCS1.5 lub RSAOAEP. Atakujący może deszyfrować szyfrogramy, wykorzystując lukę w zabezpieczeniach Marvin.
- CVE-2022-25898Wysokie
Pakiet jsrsasign w wersjach przed 10.5.25 jest podatny na niewłaściwą weryfikację podpisu kryptograficznego, co może prowadzić do błędnej walidacji podpisów JWS lub JWT zawierających nieprawidłowe znaki kodowania Base64URL.
- CVE-2020-14966Wysokie
W pakiecie jsrsasign do wersji 8.0.18 dla Node.js odkryto problem, który pozwala na modyfikację podpisów ECDSA. Problem wynika z braku sprawdzania przepełnień długości sekwencji oraz znaków '0' dodawanych na początku lub końcu liczby, co skutkuje tym, że zmodyfikowane podpisy są weryfikowane jako ważne.
Oryginalny opis (angielski, źródło NVD)
Versions of the package jsrsasign before 11.1.1 are vulnerable to Missing Cryptographic Step via the KJUR.crypto.DSA.signWithMessageHash process in the DSA signing implementation. An attacker can recover the private key by forcing r or s to be zero, so the library emits an invalid signature without retrying, and then solves for x from the resulting signature.

