CVE-2026-4600
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
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).
Ocena ryzyka
Ryzyko polega na możliwości podszycia się pod zaufany podmiot lub certyfikat, co może prowadzić do naruszenia integralności danych, autoryzacji oraz zaufania w systemach wykorzystujących bibliotekę do weryfikacji podpisów.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę jsrsasign do wersji 11.1.1 lub nowszej, która zawiera poprawkę usuwają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-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-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 Improper Verification of Cryptographic Signature via the DSA domain-parameter validation in KJUR.crypto.DSA.setPublic (and the related DSA/X509 verification flow in src/dsa-2.0.js). An attacker can forge DSA signatures or X.509 certificates that X509.verifySignature() accepts by supplying malicious domain parameters such as g=1, y=1, and a fixed r=1, which make the verification equation true for any hash.

