CVE-2026-116587
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
Go JOSE, implementacja standardów JOSE w Go (JWE, JWS, JWT), przed wersją 4.1.6 parsuje kontrolowane przez atakującego wartości modułu i liczb pierwszych RSA z JWK bez egzekwowania ograniczeń rozmiaru i spójności przed przekazaniem ich do crypto/rsa.PrivateKey.Validate. W Go 1.24 i nowszych spreparowane duże lub zdegenerowane parametry RSA mogą powodować sześcienne zużycie CPU podczas walidacji, umożliwiając zdalną odmowę usługi.
Ocena ryzyka
Zdalny atakujący może wywołać odmowę usługi poprzez wyczerpanie CPU w aplikacjach parsujących JWK z niezaufanych źródeł. Ryzyko dotyczy usług przyjmujących klucze JWK od klientów.
Rekomendacja
Zaktualizuj go-jose do wersji 4.1.6 lub nowszej. Do czasu aktualizacji rozważ walidację rozmiaru parametrów RSA w JWK przed ich przetworzeniem.
Inne podatności w go-jose
Zobacz wszystkie- CVE-2016-9123Wysokie
Biblioteka go-jose w wersjach przed 1.0.5 ma problem z przepełnieniem całkowitym w algorytmie CBC-HMAC na architekturach 32-bitowych. Przepełnienie całkowite może prowadzić do ominięcia uwierzytelniania dla zaszyfrowanych tekstów CBC-HMAC na tych architekturach.
- CVE-2016-9121Krytyczne
Biblioteka go-jose w wersjach przed 1.0.4 jest podatna na atak związany z nieprawidłową krzywą w algorytmie ECDH-ES. Podczas generowania wspólnego klucza, go-jose nie sprawdza, czy otrzymany klucz publiczny jest na tej samej krzywej co statyczny klucz prywatny odbiorcy.
- CVE-2026-116586Średnie
Biblioteka go-jose przed wersją 4.1.5 nie ogranicza głębokości zagnieżdżenia podczas parsowania JSON kontrolowanego przez atakującego. Głęboko zagnieżdżone tablice lub obiekty przekraczają limit stosu Go, powodując przepełnienie stosu i awarię aplikacji.
- CVE-2026-116585Średnie
W go-jose przed wersją 4.1.5 odszyfrowywanie niezaufanego szyfrogramu JWE z algorytmami A128CBC-HS256, A192CBC-HS384 lub A256CBC-HS512 może przekazać pusty bufor do odpadkowania CBC-HMAC. Niewystarczająca walidacja powoduje indeksowanie pustego bufora, panikę i odmowę usługi.
- CVE-2026-34986Wysokie
Go JOSE przed wersjami 4.1.4 i 3.0.5 zawiera podatność, w której deszyfrowanie obiektu JWE może spowodować panic, jeśli pole alg wskazuje na algorytm zawijania klucza (kończący się na KW, z wyjątkiem A128GCMKW, A192GCMKW i A256GCMKW), a pole encrypted_key jest puste. Panic występuje przy próbie alokacji wycinka o zerowej lub ujemnej długości. Może to prowadzić do odmowy usługi.
Oryginalny opis (angielski, źródło NVD)
Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. Prior to 4.1.6, go-jose parses attacker-controlled RSA modulus and prime values from JWKs without enforcing size and consistency bounds before passing them to crypto/rsa.PrivateKey.Validate. On Go 1.24 and later, crafted large or degenerate RSA parameters can make that validation consume cubic CPU time, allowing remote denial of service in applications that parse JWKs from untrusted sources. This issue is fixed in version 4.1.6.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

