Skip to main content

pyasn1 CVE-2026-59885

| EUVDEUVD-2026-43955 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-07-14 GitHub_M GHSA-8ppf-4f7h-5ppj
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify service decoding untrusted ASN.1
  2. Delivery
    Craft tiny OID with thousands of arcs
  3. Exploit
    Submit payload to decode() endpoint
  4. Execution
    Quadratic parsing pins CPU per call
  5. Persist
    Repeat to exhaust workers
  6. Impact
    Denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The only prerequisite is that the target application passes attacker-influenced data to pyasn1's BER/CER/DER decoder.decode() (or re-encodes previously decoded attacker values through the encoder) on a version earlier than 0.6.4. The CVSS vector is PR:N/UI:N, so no authentication or user interaction is required where such a decode path is remotely reachable; the malicious input is simply an OBJECT IDENTIFIER or RELATIVE-OID with a very large number of arcs. Limiting factors: exploitation is bounded to code paths that actually decode untrusted ASN.1 - deployments that only parse trusted/local data, enforce small payload-size limits, or wrap decoding in strict timeouts substantially blunt the attack, and impact is availability degradation only (no code execution or data exposure).

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) is internally consistent with the description: an unauthenticated remote attacker can trigger the condition with low complexity and no user interaction, but impact is confined to availability - there is no data disclosure or code execution. This is a genuine amplification/algorithmic-complexity DoS rather than a memory-safety issue, so real-world priority depends on exposure: services that decode attacker-controlled ASN.1 (LDAP front-ends, SNMP agents, certificate/token parsers) are meaningfully at risk, while internal-only usage is not. No EPSS score, KEV listing, or SSVC decision data was supplied, so exploitation probability cannot be quantified from the input; KEV=NO and POC=NO mean this should be treated as a patch-soon hardening issue, not an emergency. Note the effect is CPU exhaustion (a single decode stalls), not a crash, so a small number of requests can degrade a worker - worth verifying request-size limits and timeouts around any untrusted decode path.

Exploit ScenarioDerived

An attacker sends a small crafted DER/BER blob containing an OBJECT IDENTIFIER with thousands of arcs (for example the 4096 single-byte-arc payload used in the fix's regression test) to a network service that decodes untrusted ASN.1, such as an LDAP or SNMP endpoint or a certificate/token validator. Each decode() call spends quadratic CPU on that tiny input, and a handful of concurrent requests can saturate worker processes and deny service to legitimate users. Given AV:N/AC:L and no authentication requirement in the CVSS vector, the request is trivial to deliver, though no weaponized public exploit is identified beyond the maintainer's proof-style test.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 14, 2026

Denial of service in the pyasn1 Python ASN.1 library (all versions prior to 0.6.4) allows remote attackers to exhaust CPU by submitting a small crafted OBJECT IDENTIFIER or RELATIVE-OID whose arcs are decoded in quadratic time, so any application that calls decode() on untrusted ASN.1 data can be stalled per call; re-encoding such values triggers the same blow-up. Rated CVSS 7.5 (availability-only) with no confidentiality or integrity impact; no public exploit identified at time of analysis, though the fix commit ships a regression test that effectively demonstrates the trigger. As a foundational dependency behind LDAP, SNMP, X.509/PKI and crypto tooling across the Python ecosystem, its broad transitive reach makes this notable despite the modest severity.

RemediationAI

Vendor-released patch: upgrade pyasn1 to version 0.6.4 or later (pip install --upgrade 'pyasn1>=0.6.4'), and update any downstream packages or lockfiles that transitively pin an older pyasn1; see the advisory at https://github.com/pyasn1/pyasn1/security/advisories/GHSA-8ppf-4f7h-5ppj and release https://github.com/pyasn1/pyasn1/releases/tag/v0.6.4. If immediate upgrade is not possible, apply compensating controls on any code path that decodes untrusted ASN.1: cap the maximum accepted payload/BER length before calling decoder.decode() so oversized OID-heavy blobs are rejected early (trade-off: may reject legitimate large but valid structures), enforce a per-request CPU/wall-clock timeout or run decoding in a bounded worker so a single slow decode cannot pin a process, and restrict or authenticate the exposed endpoints that accept ASN.1 input (e.g., LDAP/SNMP/certificate parsers) to reduce untrusted exposure. Avoid re-encoding attacker-supplied decoded values on vulnerable versions, since the encoder shares the same quadratic behavior.

Affected VersionsENISA

pyasn1 < 0.6.4

Affected Packages

pypi pyasn1 fix: 0.6.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

pyasn1 implements the ASN.1 BER/CER/DER codecs used to parse and emit binary structures for protocols such as LDAP, SNMP, Kerberos, and X.509 certificates. The root cause is CWE-400 (Uncontrolled Resource Consumption): in ber/decoder.py the OID and RELATIVE-OID value decoders accumulated arcs into an immutable Python tuple using repeated 'oid += (subId,)' concatenation, and the ber/encoder.py path built output octets the same way. Because each concatenation copies the entire growing tuple, appending N arcs costs O(N^2) work; a payload with thousands of single-byte arcs therefore consumes CPU disproportionate to its size. The 0.6.4 fix replaces tuple concatenation with mutable list append/extend and only converts to a tuple once at the end (yielding tuple(oid)), reducing decode/encode to linear time. The affected package is identified by cpe:2.3:a:pyasn1:pyasn1:*:*:*:*:*:*:*:* with all versions below 0.6.4 in scope.

Know when Pyasn1 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated attacker (AV:N/PR:N/UI:N) with a simple crafted OID (AC:L) causes CPU-exhaustion DoS; availability-only impact (A:H, C/I:N) with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Jul 14, 2026 - 23:21 EUVD
CVE Published
Jul 14, 2026 - 16:40 cve.org
HIGH 7.5

DescriptionCVE.org

pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.4, the BER, CER, and DER decoders process OBJECT IDENTIFIER and RELATIVE-OID values in quadratic time relative to the number of arcs, so a small crafted payload containing an OID with many arcs consumes excessive CPU per decode() call and can deny service to applications that decode untrusted ASN.1 data. The corresponding encoders have the same quadratic behavior when an application re-encodes previously decoded attacker-supplied values. This issue is fixed in version 0.6.4.

Executive ViewAI

Why It Matters

pyasn1, a foundational Python library critical to LDAP, SNMP, and cryptographic operations across the ecosystem, contains a denial-of-service vulnerability affecting all versions prior to 0.6.4. Unauthenticated remote attackers can exhaust CPU resources by submitting crafted ASN.1 OBJECT IDENTIFIER values that consume quadratic processing time, potentially stalling dependent applications; no public exploit has been identified at time of analysis. Organizations relying on pyasn1 face service availability risk with no vendor patch currently available.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: (1) Input validation and size constraints on ASN.1 OBJECT IDENTIFIER and RELATIVE-OID structures, with rejection of abnormally large or deeply nested values; (2) Rate limiting on ASN.1 decode operations for data from untrusted sources; (3) Network segmentation to restrict which systems can process ASN.1 data from external sources; (4) WAF or API gateway rules to filter suspicious or oversized ASN.1 structures; (5) Enhanced CPU and latency monitoring to detect exploitation attempts correlated with ASN.1 processing.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
High
foundational Python ASN.1 library, common transitive dependency in LDAP/SNMP/PKI tooling
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA MSRC Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 SUSE Linux Enterprise High Performance Computing 15 SP7 SUSE Linux Enterprise Module for Python 3 15 SP7 SUSE Linux Enterprise Server 15 SP7 SUSE Linux Enterprise Server for SAP Applications 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4 SUSE Linux Enterprise Module for Public Cloud 15 SP4 SUSE Linux Enterprise Server 15 SP4 SUSE Manager Proxy 4.3 SUSE Manager Retail Branch Server 4.3 SUSE Manager Server 4.3 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy