CVE-2026-59884

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

Published Jul 14, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

The pyasn1 library implements generic ASN.1 parsing routines for BER, CER, and DER formats. Prior to release 0.6.4 the decoder for long‑form tag identifiers accumulated continuation bytes without applying an upper bound on the resulting tag ID size. An attacker can supply a crafted ASN.1 blob that forces the decoder to build an arbitrarily large integer, causing CPU usage to rise quadratically and eventually raising an unhandled ValueError during Python 3.11+ error formatting. The outcome is an unintentional crash, rendering the application unavailable while processing the malicious data. This vulnerability is a classic example of uncontrolled resource consumption (CWE‑400).

Affected Systems

All installations of pyasn1 earlier than 0.6.4 are vulnerable, regardless of the Python interpreter version. Any application – whether a web service, network client, or file processor – that invokes the BER, CER, or DER decoder on untrusted input will be affected. The problem appears in both the CER and DER codecs that share the same internal BER parsing routine.

Risk and Exploitability

The CVSS score of 7.5 indicates high severity. The EPSS score of less than 1% suggests that exploitation attempts are currently rare, and the vulnerability is not included in the CISA KEV list. Based on the description, the likely attack vector is the introduction of malformed ASN.1 data, which could be supplied via any input channel such as a network protocol, HTTP request, or uploaded file. Because the decoder does not enforce a tag‑ID size limit, the flaw can be triggered without additional privileges, leading to a denial‑of‑service crash inside the target process.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the pyasn1 library to version 0.6.4 or later.
  • If a patch cannot be applied immediately, configure the application to reject or truncate BER, CER, or DER data that contain tag identifiers exceeding a reasonable length threshold.
  • Wrap all decoder calls in exception handling to catch ValueError or other runtime errors and prevent application crashes.

Generated by OpenCVE AI on July 31, 2026 at 09:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4778-1 pyasn1 security update
Github GHSA Github GHSA GHSA-m4p7-r5rc-7g4j pyasn1 BER/CER/DER decoder denial of service via unbounded long-form tag IDs
Ubuntu USN Ubuntu USN USN-8712-1 pyasn1 vulnerabilities
Ubuntu USN Ubuntu USN USN-9011-1 pyasn1 vulnerabilities
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Pyasn1
Pyasn1 pyasn1
Vendors & Products Pyasn1
Pyasn1 pyasn1
Type Values Removed Values Added
Description 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.
Title pyasn1 BER/CER/DER decoder denial of service via unbounded long-form tag IDs
Weaknesses CWE-400
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 15, 2026, 1:50 PM
Reserved
Jul 7, 2026, 4:40 PM
Status
Analyzed
Published
Jul 14, 2026, 5:17 PM
Modified
Jul 21, 2026, 2:37 PM
Severity
Moderate
Public date
Jul 14, 2026, 4:41 PM