CVE-2026-4602
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 40 - wyżej niż 40% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości ominięcia weryfikacji podpisów cyfrowych, co może prowadzić do akceptacji nieautoryzowanych danych lub fałszywych certyfikatów, zagrażając integralności i autentyczności systemów.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę jsrsasign do wersji 11.1.1 lub nowszej, która zawiera poprawkę dla tej podatności.
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-4601Wysokie
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.
- 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 Incorrect Conversion between Numeric Types due to handling negative exponents in ext/jsbn2.js. An attacker can force the computation of incorrect modular inverses and break signature verification by calling modPow with a negative exponent.

