CVE-2022-25898
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 55 - wyżej niż 55% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacje mogą być narażone na ataki, w których nieautoryzowane podpisy mogą zostać uznane za ważne, co prowadzi do potencjalnych naruszeń bezpieczeństwa.
Rekomendacja
Zaleca się walidację podpisów JWS lub JWT, aby upewnić się, że zawierają one bezpieczne ciągi Base64URL i kropki przed wywołaniem metod JWS.verify() lub JWS.verifyJWT().
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-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-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)
The package jsrsasign before 10.5.25 are vulnerable to Improper Verification of Cryptographic Signature when JWS or JWT signature with non Base64URL encoding special characters or number escaped characters may be validated as valid by mistake. Workaround: Validate JWS or JWT signature if it has Base64URL and dot safe string before executing JWS.verify() or JWS.verifyJWT() method.

