CVE-2026-119197
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
W bibliotece pyasn1 przed wersją 0.6.5 dekodowanie binarnego typu REAL buduje dużą mantysę oktet po oktecie poprzez przesuwanie rosnącej liczby całkowitej i kopiowanie pozostałego łańcucha bajtów. Złośliwe dane ASN.1 z dużymi mantysami powodują kwadratowy czas dekodowania, co może zająć rdzeń CPU na sekundy lub dłużej i doprowadzić do utraty dostępności.
Ocena ryzyka
Atakujący może zdalnie wywołać wyczerpanie CPU podczas dekodowania danych ASN.1, powodując odmowę usługi dla aplikacji korzystających z pyasn1.
Rekomendacja
Zaktualizuj bibliotekę pyasn1 do wersji 0.6.5 lub nowszej.
Inne podatności w pyasn1
Zobacz wszystkie- CVE-2026-119196Wysokie
W bibliotece pyasn1 przed wersją 0.6.5 dekodowanie konstruowanego typu BIT STRING wielokrotnie przesuwa i kopiuje pełną wartość bitową narastającą z wcześniejszych fragmentów. Złośliwe dane BER lub CER z wieloma fragmentami konstruowanego BIT STRING powodują kwadratowe zużycie CPU podczas dekodowania.
- CVE-2026-119195Wysokie
W bibliotece pyasn1 przed wersją 0.6.5 dekodowanie konstruowanych łańcuchów znaków oraz typu ANY o nieokreślonej długości wielokrotnie konkatenuje fragmenty do rosnącej wartości bajtowej. Złośliwe dane BER lub CER z wieloma fragmentami powodują kwadratowe zużycie CPU podczas dekodowania.
- CVE-2026-119194Wysokie
W bibliotece pyasn1 od wersji 0.3.3 do 0.6.5 dekodowanie kontenerów bez schematu przechowuje TagSet każdego zdekodowanego komponentu w rosnącym zbiorze, mimo że wystarczy rozróżnić jeden typ tagu od wielu. Złośliwe dane BER, CER lub DER z wieloma różnymi długimi identyfikatorami tagów powodują kwadratowe zużycie CPU podczas dekodowania.
- CVE-2026-59886Wysokie
W bibliotece pyasn1 w wersji przed 0.6.4 typ univ.Real podczas konwersji mantysy, podstawy i wykładnika na liczbę zmiennoprzecinkową Pythona używa dokładnego potęgowania dużych liczb całkowitych. Krótki, zakodowany w BER/CER/DER ciąg REAL może zawierać bardzo duży wykładnik, co powoduje nadmierne zużycie CPU i pamięci oraz zawieszanie aplikacji podczas wywoływania prettyPrint(), str(), porównań, operacji arytmetycznych, int() lub float() na niezaufanych danych ASN.1.
- CVE-2026-59885Wysokie
Podatność w bibliotece pyasn1 przed wersją 0.6.4 powoduje kwadratową złożoność czasową dekoderów BER, CER i DER podczas przetwarzania identyfikatorów obiektów (OID) i względnych OID z wieloma łukami. Mały, spreparowany ładunek z wieloma łukami OID prowadzi do nadmiernego zużycia CPU przy każdym wywołaniu decode(), co może spowodować odmowę usługi w aplikacjach przetwarzających niezaufane dane ASN.1.
- CVE-2026-59884Wysokie
Biblioteka pyasn1 przed wersją 0.6.4 zawiera podatność w dekoderze BER, który podczas parsowania długich tagów nie ogranicza rozmiaru identyfikatora tagu, co pozwala na skonstruowanie dowolnie dużego integera z kwadratowym wzrostem kosztów CPU oraz wywołanie nieobsłużonych wyjątków ValueError w Python 3.11+.
- CVE-2026-30922Wysokie
Biblioteka pyasn1 przed wersją 0.6.3 jest podatna na atak DoS poprzez niekontrolowaną rekurencję podczas dekodowania głęboko zagnieżdżonych struktur ASN.1. Atakujący może wysłać spreparowane dane z tysiącami zagnieżdżonych znaczników SEQUENCE lub SET z markerami nieokreślonej długości, co powoduje przepełnienie stosu lub pamięci.
- CVE-2026-23490Wysokie
Biblioteka pyasn1 przed wersją 0.6.2 zawiera podatność na atak DoS polegający na wyczerpaniu pamięci przez nieprawidłowo sformułowany RELATIVE-OID z nadmierną liczbą oktetów kontynuacji.
Oryginalny opis (angielski, źródło NVD)
pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.5, binary REAL decoding builds a large mantissa one octet at a time by shifting a growing integer and slicing the remaining byte string. Attacker-controlled ASN.1 includes a binary-encoded REAL with a large mantissa and reaches BER, CER, or DER decode(), with or without a schema containing REAL. RealPayloadDecoder.valueDecoder repeatedly performs a left shift, OR, and suffix copy for every mantissa octet, making decode time quadratic in mantissa length. A comparatively small REAL value can hold a decoding worker on one CPU core for seconds or longer and cause availability loss. This issue is fixed in version 0.6.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

