CVE-2026-59886
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk26th percentile - higher than 26% of all known CVEs
Summary
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.
Risk Assessment
An attacker can send a crafted REAL value that, after decoding and processing (e.g., printing, logging, or comparing), leads to resource exhaustion and denial of service (DoS).
Recommendation
Immediately upgrade pyasn1 to version 0.6.4 or later. If upgrading is not possible, avoid calling prettyPrint(), str(), comparisons, arithmetic, int(), or float() on untrusted Real objects.
Other vulnerabilities in pyasn1
See all- 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.4, the univ.Real type converted its mantissa, base, and exponent value to a Python float using exact big-integer exponentiation. A BER, CER, or DER encoded REAL value only a few bytes long can carry a very large exponent, causing float conversion through prettyPrint(), str(), comparison, arithmetic, int(), or an explicit float() call to consume excessive CPU and memory and hang applications that decode untrusted ASN.1 data and then print, log, or compare decoded objects. This issue is fixed in version 0.6.4.

