CVE-2026-59884: pyasn1 BER/CER/DER decoder denial of service via unbounded long-form tag IDs

Published Jul 14, 2026
·
Updated

Impact The BER decoder (shared by the CER and DER codecs) parses long-form tags by accumulating continuation octets in a loop with no upper bound on the size of the tag ID. A crafted input can force the decoder to build an arbitrarily large integer, with CPU cost growing quadratically in input size — a ~1 MB input consumes over a minute of CPU. On Python 3.11+, the oversized tag ID can also trigger an unhandled ValueError (integer string conversion limit) while the decoder formats error messages, violating the documented PyAsn1Error contract and potentially bypassing caller error handling.

Any application decoding untrusted BER/CER/DER input is affected.

Affected components - pyasn1.codec.ber.decoder — decode() and StreamingDecoder - pyasn1.codec.cer.decoder and pyasn1.codec.der.decoder, which inherit the same tag parsing - pyasn1.type.tag — Tag/TagSet reprs could raise ValueError when rendering oversized tag IDs (reachable through decoder error paths)

The encoders and the pyasn1.codec.native codec are not affected.

Patches Fixed in 0.6.4. Long-form tag IDs are now limited to 20 octets (140-bit tag IDs, matching the existing OID arc limit); oversized tags are rejected with PyAsn1Error. Tag ID rendering in reprs and error messages was additionally hardened against the interpreter's integer-to-string conversion limit.

Workarounds Bound the size of untrusted input passed to decode() before calling it.

Other sources

pyasn1 BER/CER/DER decoder denial of service via unbounded long-form tag IDs

Microsoft

pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.4, the BER decoder shared by the CER and DER codecs parses long-form tags by accumulating continuation octets without an upper bound on the tag ID size, allowing a crafted input to force construction of an arbitrarily large integer with CPU cost growing quadratically and to trigger unhandled ValueError exceptions in Python 3.11+ error formatting paths. Any application decoding untrusted BER, CER, or DER input is affected. This issue is fixed in version 0.6.4.

MITRE

Affected Software

4 affected componentsFixes available
pypi/pyasn1<0.6.4
pyasn1 Pyasn1 Python<0.6.4
pip/pyssn1<=0.6.3
0.6.4
Microsoft azl3 python-pyasn1 0.4.8-2<0.4.8-3
0.4.8-3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/pyssn1 to a version that resolves this vulnerability.

    Fixed in 0.6.4
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 0.4.8-3
  3. Upgrade

    Upgrade pyasn1 to a version that resolves this vulnerability.

    Fixed in 0.6.4
  4. Compensating control

    Bound the size of untrusted input passed to `decode()` before calling `pyasn1.codec.ber.decoder.decode()` (and the BER/CER/DER decoders that share the BER decoder long-form tag parsing).

Event History

Jul 14, 2026
CVE Published
via MITRE·04:41 PM
Data Sourced
via MITRE·04:41 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:17 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jul 17, 2026
Data Sourced
via Microsoft·08:02 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·08:02 AM
DescriptionSeverity
Jul 21, 2026
Advisory Published
via GitHub·07:10 PM
Data Sourced
via GitHub·07:10 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-59884?

CVE-2026-59884 has a severity score of 7.5, classified as high.

2

How do I fix CVE-2026-59884?

To fix CVE-2026-59884, update pyasn1 to version 0.6.4 or later.

3

What type of vulnerability is CVE-2026-59884?

CVE-2026-59884 is a denial of service vulnerability in the pyasn1 library.

4

What is the impact of CVE-2026-59884?

The impact of CVE-2026-59884 is the potential for an attacker to cause unbounded CPU consumption.

5

Which software is affected by CVE-2026-59884?

The affected software is the pyasn1 library, specifically versions prior to 0.6.4.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203