CVE-2026-30922·Python vulnerability
pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.3, the `pyasn1` library is vulnerable to a Denial of Service (DoS) attack caused by uncontrolled recursion when decoding ASN.1 data with deeply nested structures. An attacker can supply a crafted payload containing thousands of nested `SEQUENCE` (`0x30`) or `SET` (`0x31`) tags with "Indefinite Length" (`0x80`) markers. This forces the decoder to recursively call itself until the Python interpreter crashes with a `RecursionError` or consumes all available memory (OOM), crashing the host application. This is a distinct vulnerability from CVE-2026-23490 (which addressed integer overflows in OID decoding). The fix for CVE-2026-23490 (`MAX_OID_ARC_CONTINUATION_OCTETS`) does not mitigate this recursion issue. Version 0.6.3 fixes this specific issue.
- Severity
- high
- Software
- Python
- Fixed in
- 0.6.3
- Published
- 2026-03-18
Affected versions
Until: 0.6.3
Fixed in: 0.6.3
How to fix this CVE
Update the pyasn1 library to version 0.6.3 or later to patch the recursive ASN.1 decoding vulnerability. This fix prevents maliciously crafted payloads with deeply nested SEQUENCE or SET structures from triggering stack exhaustion or out-of-memory conditions. Users relying on Python's ASN.1 decoding functionality should prioritize this update to mitigate denial-of-service risks.
sudo dnf update python3-pyasn1-0.6.3Defensia detects this vulnerability
How to check if you are affected
- Check the installed pyasn1 version: python3 -c 'import pyasn1; print(pyasn1.__version__)'
- Identify applications using pyasn1: pip3 show pyasn1 | grep Location, then search that path for imports
- Search application logs for RecursionError or MemoryError messages paired with ASN.1 decoding timestamps: grep -i 'recursion\|memoryerror' /var/log/application.log | grep -i 'asn\|der\|ber'
- Verify the patch: python3 -c 'import pyasn1; version_tuple = tuple(map(int, pyasn1.__version__.split("."))); print("Patched" if version_tuple >= (0, 6, 3) else "Vulnerable")'
FAQ
What is CVE-2026-30922?
CVE-2026-30922 is a denial-of-service vulnerability in pyasn1 where deeply nested ASN.1 SEQUENCE or SET structures with indefinite-length markers cause uncontrolled recursion, leading to stack overflow or memory exhaustion in the Python interpreter.
Is CVE-2026-30922 being actively exploited?
No, CVE-2026-30922 is not currently listed on CISA's Known Exploited Vulnerabilities catalog, and no public exploits have been disclosed.
What versions of Python are affected by CVE-2026-30922?
All pyasn1 versions prior to 0.6.3 are vulnerable. The issue affects any Python 3.x environment running an older pyasn1 release.
How do I check if my server is vulnerable to CVE-2026-30922?
Run `python3 -c 'import pyasn1; print(pyasn1.__version__)'` — if the version is below 0.6.3, your system is vulnerable.
Does Defensia detect CVE-2026-30922?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If pyasn1 is installed on a monitored server, CVE-2026-30922 will appear in your dashboard with remediation steps.
Related Python CVEs
References
- https://github.com/pyasn1/pyasn1/commit/25ad481c19fdb006e20485ef3fc2e5b3eff30ef0
- https://github.com/pyasn1/pyasn1/security/advisories/GHSA-jr27-m4p2-rc6r
- http://www.openwall.com/lists/oss-security/2026/03/20/4
- https://lists.debian.org/debian-lts-announce/2026/05/msg00001.html
- https://access.redhat.com/errata/RHSA-2026:10184
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-30922. Free for 1 server.
Get started free