CVE-2026-119195
pyasn1 has quadratic-time denial of service in constructed string and indefinite-length ANY decoding
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | pyasn1 | <= 0.6.4 | 0.6.5 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Pyasn1 | Pyasn1 | before 0.6.5 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-9m75-vc3g-4x39
- https://github.com/pyasn1/pyasn1/security/advisories/GHSA-9m75-vc3g-4x39
- https://nvd.nist.gov/vuln/detail/CVE-2026-119195
- https://github.com/pyasn1/pyasn1/pull/132
- https://github.com/pyasn1/pyasn1/commit/4ce00797c594b59c1fd6b86d9ebc3ba87b7ec9f9
- https://github.com/pyasn1/pyasn1/releases/tag/v0.6.5