CVE-2026-119196
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 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.
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-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, constructed BIT STRING decoding repeatedly shifts and copies the complete bit value accumulated from earlier fragments. Attacker-controlled BER or CER input contains many constructed BIT STRING fragments; schema-driven DER also accepts a definite-length constructed BIT STRING. BitStringPayloadDecoder repeatedly calls BitString.fromOctetString with the prior bitString as prepend, shifting an ever-growing SizedInteger for each fragment and causing quadratic work. Large fragmented values can exhaust CPU during decode() without requiring later conversion or formatting. This issue is fixed in version 0.6.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

