CVE-2026-119195
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 45 - wyżej niż 45% wszystkich znanych CVE
Streszczenie
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.
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-119197Wysokie
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.
- 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-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, constructed string and indefinite-length ANY decoding repeatedly concatenates each fragment onto a growing bytes value. Attacker-controlled BER or CER data can use many constructed OCTET STRING or character-string fragments. DER rejects constructed OCTET STRING without a schema, but accepts its definite-length form when asn1Spec selects univ.OctetString; it also accepts constructed character strings such as UTF8String without a schema, even though those encodings are not valid DER. The separate indefinite-length ANY path is reachable in BER and CER when asn1Spec selects univ.Any; DER rejects indefinite lengths. OctetStringPayloadDecoder uses growing header concatenation and AnyPayloadDecoder.indefLenValueDecoder uses growing chunk concatenation, repeatedly copying an increasing prefix and causing quadratic work. A sufficiently fragmented value can occupy decoding workers and cause CPU exhaustion without confidentiality or integrity impact. This issue is fixed in version 0.6.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

