CVE-2026-23490
High · 7.5CVSS
7.5
EPSS
0.8%
Published
Jan 16, 2026
CISA due date
—
Cloudanix analysis
A specially crafted data message can cause affected software to run out of memory and stop working until it is restarted or updated.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
This is a remotely triggerable denial-of-service weakness in pyasn1 before version 0.6.2. When an application decodes attacker-controlled ASN.1 data containing a malformed RELATIVE-OID with excessive continuation octets, pyasn1 can allocate excessive memory while processing the object identifier encoding. The flaw does not provide confidentiality or integrity impact, but it can exhaust process or host memory, causing the Python application, container, service, or dependent component such as packaged kubevirt builds to crash or be killed by the operating system.
Why it matters to the business
Services that parse ASN.1 data from untrusted sources can be made unavailable with crafted input, potentially causing failed authentication flows, certificate or protocol processing failures, API downtime, degraded virtualization-management workflows where vulnerable kubevirt packages are present, and operational instability from repeated process or container restarts. The issue has a high availability impact but currently has low EPSS, no known CISA KEV listing, no ransomware association, and no reported mature public exploitation, so remediation should be prioritized based on whether ASN.1 parsing is exposed to network, user-uploaded, federation, certificate, SSO, LDAP, SNMP, Kerberos, or other untrusted data paths.
How an attack unfolds
An attacker first identifies a service or workflow that accepts ASN.1-encoded data and processes it through a vulnerable pyasn1 version. The attacker then submits a crafted ASN.1 object containing a RELATIVE-OID value encoded with an excessive number of continuation octets. During decoding, the vulnerable library consumes increasing memory until the process reaches memory limits or the host/container experiences memory pressure. The result is typically a process crash, an out-of-memory kill, degraded performance, or service restart. Repeated requests can keep the affected service unavailable, especially when the parsing endpoint is unauthenticated or exposed to the network.
How to fix it
Upgrade pyasn1 to version 0.6.2 or later wherever it is installed directly or bundled transitively. For source deployments using the upstream Git repository, ensure the fix including commit e7356f89cf32c130d65b1a0e903fe7ecce426424 is present. For SUSE-packaged kubevirt deployments, update affected packages to 1.2.2-150500.8.24.1 or later on the listed SUSE Linux Enterprise Micro 5.5 and SUSE Linux Enterprise 15 SP5 variants. Rebuild and redeploy containers, virtual environments, Python wheels, and vendor images that vendor or pin pyasn1. If immediate upgrade is not possible, reduce exposure by rejecting untrusted ASN.1 inputs where feasible, enforcing strict request/body size limits, applying per-process and per-container memory limits, rate-limiting unauthenticated parsing endpoints, and isolating ASN.1 parsing from critical control-plane services.
How to confirm the fix worked
Confirm installed versions with package inventory and runtime checks, for example by reviewing Python dependency lockfiles, SBOMs, container image manifests, virtual environments, and OS package versions for pyasn1 older than 0.6.2 or affected kubevirt packages older than 1.2.2-150500.8.24.1. Validate that rebuilt artifacts actually include the patched dependency and that no vendored copy of pyasn1 remains. Where safe and authorized, run a controlled negative test against non-production parsing paths to verify malformed ASN.1 input is rejected without abnormal memory growth. Monitor patched services under representative load to confirm memory remains bounded and no OOM kills or restart loops occur.
Typical attack path
- Identify an application, API, protocol handler, or packaged product that uses pyasn1 before 0.6.2 to decode ASN.1 data.
- Find an input path that accepts ASN.1-controlled content, such as certificate-like data, authentication messages, protocol packets, uploaded files, or service-to-service messages.
- Send malformed ASN.1 containing a RELATIVE-OID with excessive continuation octets.
- Trigger memory growth during pyasn1 decoding.
- Cause the application process, container, or host-level service to be killed, restarted, or become unresponsive.
- Repeat the request to sustain a denial of service.
How to detect it
Look for signs of memory exhaustion in services that use pyasn1 or products that bundle it, especially immediately after receiving ASN.1, certificate, identity, LDAP, SNMP, Kerberos, or binary upload traffic. Useful sources include application logs, Python exception logs, container runtime events, Kubernetes events, system journal/syslog, Linux kernel OOM logs, process supervisor logs, API gateway logs, reverse proxy logs, and endpoint telemetry. Correlate inbound requests or uploaded payloads with rapid resident memory growth, worker crashes, container restarts, OOMKilled events, or repeated 500/502/503 responses. Because exploitation may leave few content-level indicators unless payload logging is enabled, focus on behavioral artifacts: abnormal memory consumption by Python processes, repeated restarts of the same service, kernel messages killing Python or dependent service processes, and parsing errors mentioning ASN.1, OID, RelativeOID, or pyasn1 immediately before failure.
- pyasn1
- RELATIVE-OID
- RelativeOID
- ObjectIdentifier
- MemoryError
- Out of memory
- oom-kill
- OOMKilled
- Killed process
- ContainerStatusUnknown
- CrashLoopBackOff
- ExitCode:137
- exit code 137
- signal: killed
- asn1
- ASN.1
What your security team should do
- Inventory all direct and transitive uses of pyasn1, including Python virtual environments, containers, serverless packages, embedded vendor libraries, and OS-distributed packages.
- Prioritize remediation for internet-facing or unauthenticated services that parse ASN.1, certificate-like content, identity/authentication protocol data, LDAP/SNMP/Kerberos-related data, or user-uploaded binary formats.
- Upgrade pyasn1 to 0.6.2 or later and update affected SUSE kubevirt packages to 1.2.2-150500.8.24.1 or later.
- Rebuild and redeploy container images and application bundles rather than only changing dependency manifests.
- Apply memory limits, request size limits, parser timeouts, and rate limits as defense-in-depth for services that process ASN.1 from untrusted sources.
- Add monitoring for sudden memory growth, OOM kills, crash loops, and spikes in ASN.1 parsing errors after public disclosure.
- Review logs for evidence of repeated malformed ASN.1 submissions followed by service instability, especially on exposed endpoints.
The record
pyasn1 is a generic ASN.1 library for Python. Prior to 0.6.2, a Denial-of-Service issue has been found that leads to memory exhaustion from malformed RELATIVE-OID with excessive continuation octets. This vulnerability is fixed in 0.6.2.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | airflow-2 | 0 | 2.11.0-r24 |
| Chainguard | airflow-3 | 0 | 3.1.6-r2 |
| Chainguard | ansible-operator | 0 | 1.42.0-r5 |
| Chainguard | ansible-operator | 0 | 1.42.0-r6 |
| Chainguard | ansible-operator-fips | 0 | 1.42.0-r4 |
| Chainguard | apache-beam-python-3.11-sdk | 0 | 2.71.0-r0 |
| Chainguard | authentik | 0 | 2025.10.3-r5 |
| Chainguard | authentik-fips | 0 | 2025.10.3-r2 |
| Chainguard | barman-cloudnative-pg | 0 | 3.17.0-r1 |
| Chainguard | dask-kubernetes | 0 | 2025.7.0-r6 |
| Chainguard | gitlab-toolbox-ce-18.6 | 0 | 18.6.4-r0 |
| Chainguard | gitlab-toolbox-ce-18.7 | 0 | 18.7.2-r0 |
| Chainguard | gitlab-toolbox-ce-fips-18.6 | 0 | 18.6.4-r0 |
| Chainguard | gitlab-toolbox-ce-fips-18.7 | 0 | 18.7.2-r0 |
| Chainguard | k8s-sidecar | 0 | 2.4.0-r0 |
| Chainguard | katib-earlystopping | 0 | 0.19.0-r4 |
| Chainguard | kserve-storage-controller | 0 | 0.16.0-r9 |
| Chainguard | kubeflow-jupyter-web-app | 0 | 1.10.0-r10 |
| Chainguard | kubeflow-pipelines-apiserver | 0 | 2.15.0-r9 |
| Chainguard | kubeflow-pipelines-visualization-server | 0 | 2.15.0-r4 |
| Chainguard | kubeflow-volumes-web-app | 0 | 1.10.0-r9 |
| Chainguard | label-studio | 0 | 1.22.0-r2 |
| Chainguard | litellm | 0 | 1.80.15.0-r1 |
| Chainguard | localstack | 0 | 4.12.0-r4 |
| Chainguard | metaflow-service | 0 | 2.5.0-r3 |
| Chainguard | mlflow | 0 | 3.8.1-r3 |
| Chainguard | mlflow-iamguarded-compat | 0 | 3.8.1-r3 |
| Chainguard | open-webui | 0 | 0.7.2-r1 |
| Chainguard | pgadmin4 | 0 | 9.11-r2 |
| Chainguard | py3-cassandra-medusa | 0 | 0.27.0-r2 |
| Chainguard | py3.10-duplicity | 0 | 3.0.7-r2 |
| Chainguard | py3.11-duplicity | 0 | 3.0.7-r2 |
| Chainguard | py3.12-duplicity | 0 | 3.0.7-r2 |
| Chainguard | py3.13-duplicity | 0 | 3.0.7-r2 |
| Chainguard | request-1276 | 0 | 0.27.0-r3 |
| Chainguard | spamcheck | 0 | 3.5.3-r6 |
| Chainguard | superset-5.0 | 0 | 5.0.0-r13 |
| Mageia:9 | python-pyasn1 | 0 | 0.4.8-6.1.mga9 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP4 | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Module for Python 3 15 SP7 | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | python-pyasn1 | 0 | 0.1.9-4.11.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | python-pyasn1 | 0 | 0.1.9-4.11.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| Wolfi | airflow-3 | 0 | 3.1.6-r2 |
| Wolfi | ansible-operator | 0 | 1.42.0-r5 |
| Wolfi | ansible-operator | 0 | 1.42.0-r6 |
| Wolfi | dask-kubernetes | 0 | 2025.7.0-r6 |
| Wolfi | k8s-sidecar | 0 | 2.4.0-r0 |
| Wolfi | katib-earlystopping | 0 | 0.19.0-r4 |
| Wolfi | kserve-storage-controller | 0 | 0.16.0-r9 |
| Wolfi | kubeflow-jupyter-web-app | 0 | 1.10.0-r10 |
| Wolfi | kubeflow-pipelines-apiserver | 0 | 2.15.0-r9 |
| Wolfi | kubeflow-pipelines-visualization-server | 0 | 2.15.0-r4 |
| Wolfi | kubeflow-volumes-web-app | 0 | 1.10.0-r9 |
| Wolfi | mlflow | 0 | 3.8.1-r3 |
| Wolfi | mlflow-iamguarded-compat | 0 | 3.8.1-r3 |
| Wolfi | open-webui | 0 | 0.7.2-r1 |
| Wolfi | py3-cassandra-medusa | 0 | 0.27.0-r2 |
| Wolfi | superset-5.0 | 0 | 5.0.0-r13 |
| openSUSE:Leap 15.6 | python-pyasn1 | 0 | 0.5.0-150400.12.10.1 |
| openSUSE:Leap 16.0 | python-pyasn1 | 0 | 0.6.1-160000.3.1 |
| openSUSE:Tumbleweed | python-pyasn1 | 0 | 0.6.2-1.1 |
| pypi | pyasn1 | 0.6.1 | No fix |
Related vulnerabilities
- CVE-2026-4539 A security flaw has been discovered in pygments up to 2.19.2. Also affects airflow-2
- CVE-2026-30922 pyasn1 is a generic ASN.1 library for Python. Also affects airflow-2
- CVE-2026-27448 pyOpenSSL is a Python wrapper around the OpenSSL library. Also affects airflow-2
- CVE-2026-27459 pyOpenSSL is a Python wrapper around the OpenSSL library. Also affects airflow-2
- CVE-2026-32597 PyJWT is a JSON Web Token implementation in Python. Also affects airflow-2
- CVE-2026-31958 Tornado is a Python web framework and asynchronous networking library. Also affects airflow-2
- CVE-2026-25604 In AWS Auth manager, the origin of the SAML authentication has been used as provided by… Also affects airflow-2
- CVE-2025-69219 A user with access to the DB could craft a database entry that would result in executing… Also affects airflow-2