CVE-2026-119197
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk37th percentile - higher than 37% of all known CVEs
Summary
In pyasn1 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 with large mantissas causes quadratic decode time, holding a decoding worker on one CPU core for seconds or longer and causing availability loss.
Risk Assessment
A remote attacker can cause CPU exhaustion during ASN.1 decoding, resulting in denial of service for applications using pyasn1.
Recommendation
Update pyasn1 to version 0.6.5 or later.
Other vulnerabilities in pyasn1
See all- CVE-2026-119196High
In pyasn1 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 with many constructed BIT STRING fragments causes quadratic CPU work during decode().
- CVE-2026-119195High
In pyasn1 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 with many fragments causes quadratic CPU work during decode().
- CVE-2026-119194High
In pyasn1 from 0.3.3 until 0.6.5, schemaless container decoding stores every decoded component's TagSet in a growing set even though only one-versus-multiple tag types must be distinguished. Attacker-controlled BER, CER, or DER input with many distinct long tag IDs whose TagSet hashes collide causes quadratic CPU work during decoding.
- CVE-2026-59886High
In pyasn1 prior to 0.6.4, the univ.Real type converts its mantissa, base, and exponent to a Python float using exact big-integer exponentiation. A short BER/CER/DER encoded REAL value can carry a very large exponent, causing excessive CPU and memory consumption and application hangs when prettyPrint(), str(), comparison, arithmetic, int(), or explicit float() is called on untrusted ASN.1 data.
- CVE-2026-59885High
The pyasn1 library before version 0.6.4 has a quadratic time complexity in BER, CER, and DER decoders when processing OBJECT IDENTIFIER and RELATIVE-OID values with many arcs. A small crafted payload with many OID arcs causes excessive CPU consumption per decode() call, potentially leading to denial of service in applications processing untrusted ASN.1 data.
- CVE-2026-59884High
The pyasn1 library before version 0.6.4 has a vulnerability in the BER decoder that does not limit the tag ID size when parsing long-form tags, allowing crafted input to force construction of an arbitrarily large integer with quadratic CPU cost and trigger unhandled ValueError exceptions in Python 3.11+.
- CVE-2026-30922High
The pyasn1 library prior to version 0.6.3 is vulnerable to a Denial of Service (DoS) attack due to uncontrolled recursion when decoding deeply nested ASN.1 structures. An attacker can craft a payload with thousands of nested SEQUENCE or SET tags with Indefinite Length markers, causing a stack overflow or memory exhaustion.
- CVE-2026-23490High
The pyasn1 library before version 0.6.2 is vulnerable to a Denial-of-Service attack causing memory exhaustion via malformed RELATIVE-OID with excessive continuation octets.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

