CVE Catalog

CVE-2026-65634

HighCVSS 8.2
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.42%

33th percentile - higher than 33% of all known CVEs

Summary

A denial-of-service vulnerability in the Erlang/OTP ASN.1 OBJECT IDENTIFIER decoder is caused by inefficient algorithmic complexity (quadratic) when processing very large subidentifiers. A remote unauthenticated attacker can send a crafted OID during the TLS handshake, causing prolonged CPU consumption (e.g., about 13 seconds for ~262 KB of data). The issue affects the BER, PER, and JER decoders in lib/asn1.

Risk Assessment

Any Erlang/OTP service that parses peer TLS certificates (TLS clients and mutual-TLS servers) is exposed to DoS, because OID decoding occurs before signature and trust chain verification. An attacker can exhaust CPU and make the service unavailable without authentication.

Recommendation

Upgrade Erlang/OTP to OTP 27.3.4.18, OTP 28.5.0.7, or OTP 29.1.1 (asn1 5.3.4.3, 5.4.3.1, or 5.5.2 respectively). Until patched, consider limiting exposure of services that parse TLS certificates and monitor CPU usage.

Related vulnerabilities

Original NVD description (English source)

Inefficient algorithmic complexity in the Erlang/OTP asn1 OBJECT IDENTIFIER decoder allows a remote unauthenticated attacker to cause denial of service by sending a crafted OID during the TLS handshake. The BER OID decoder asn1rtt_ber:dec_subidentifiers/3 in lib/asn1/src/asn1rtt_ber.erl and the equivalent PER helper asn1rtt_per_common:dec_subidentifiers/3 in lib/asn1/src/asn1rtt_per_common.erl accumulate a base-128 subidentifier into an unbounded integer using (Av bsl 7) + H per continuation byte. Each shift and addition on the growing accumulator is linear in the number of bits already accumulated, giving quadratic total work in the size of a single subidentifier. The JER helper asn1rtt_jer:json2oid/1 in lib/asn1/src/asn1rtt_jer.erl exhibits the same class of unbounded-integer parsing when decoding a dot-separated OID from JSON. A DER-encoded OBJECT IDENTIFIER with one very large arc (approximately 262 KB of continuation bytes) consumes roughly 13 seconds of CPU on typical hardware. The vulnerable decoder is generated into every ASN.1 module that contains an OBJECT IDENTIFIER, including OTP-PUB-KEY which is reached during X.509 certificate parsing via public_key:pkix_decode_cert/2. This decoder runs before any signature or trust chain verification, so any Erlang service that parses peer TLS certificates is exposed: the default for TLS clients (which always parse the server certificate) and for mutual-TLS servers (which parse client certificates). This vulnerability is associated with program files lib/asn1/src/asn1rtt_ber.erl, lib/asn1/src/asn1rtt_per_common.erl and lib/asn1/src/asn1rtt_jer.erl and program routines asn1rtt_ber:dec_subidentifiers/3, asn1rtt_per_common:dec_subidentifiers/3 and asn1rtt_jer:json2oid/1. This issue affects OTP from OTP 17.0 before OTP 27.3.4.18, OTP 28.5.0.7, and OTP 29.1.1, corresponding to asn1 from 3.0 before 5.3.4.3, 5.4.3.1, and 5.5.2. Whether OTP before OTP 17.0, corresponding to asn1 before 3.0, is affected is unknown.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS