Description
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.
Problem types
CWE-400: Uncontrolled Resource Consumption
CWE-770: Allocation of Resources Without Limits or Throttling
Product status
References
github.com/...pyasn1/security/advisories/GHSA-hm4w-wwcw-mr6r
github.com/...ommit/e60c691cb91addb8fcefa2f537e85ede6fb1e886
github.com/pyasn1/pyasn1/releases/tag/v0.6.4