CVE-2026-65634
Received Received - Intake

Denial of Service in Erlang/OTP ASN.1 OID Decoder

Vulnerability report for CVE-2026-65634, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-22

Last updated on: 2026-09-22

Assigner: EEF

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-22
Last Modified
2026-09-22
Generated
2026-09-22
AI Q&A
2026-09-22
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 12 associated CPEs
Vendor Product Version / Range
erlang otp From 17.0 (inc) to 27.3.4.18 (exc)
erlang asn1 From 3.0 (inc) to 5.3.4.3 (exc)
rabbitmq rabbitmq *
emqx emqx *
ejabberd ejabberd *
mongooseim mongooseim *
erlang otp to 27.3.4.18 (exc)
erlang otp 28.5.0.7
erlang otp 29.1.1
erlang asn1 to 5.3.4.3 (exc)
erlang asn1 5.4.3.1
erlang asn1 5.5.2

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-407 An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is in the Erlang/OTP ASN.1 OBJECT IDENTIFIER decoder. It has inefficient algorithmic complexity where decoding a crafted OID during TLS handshakes causes excessive CPU usage. The decoder accumulates subidentifiers into an unbounded integer using linear operations per byte, leading to quadratic total work. A large OID (262 KB) can consume 13 seconds of CPU time.

Detection Guidance

Monitor CPU usage spikes during TLS handshakes, especially when parsing certificates. Check Erlang/OTP versions for affected releases (pre-27.3.4.18, 28.5.0.7, 29.1.1). Inspect logs for slow or failed TLS connections.

Impact Analysis

This vulnerability allows remote unauthenticated attackers to cause denial of service by sending a crafted OID during TLS handshakes. It impacts Erlang services parsing peer TLS certificates, including TLS clients and mutual-TLS servers. Attackers can exploit it to exhaust CPU resources, reducing system availability.

Compliance Impact

This vulnerability primarily causes denial of service by consuming excessive CPU resources during TLS handshakes, which could lead to system unavailability. For compliance standards like GDPR or HIPAA that require availability of systems processing personal or health data, prolonged downtime could result in violations due to inability to provide timely access to critical services.

Mitigation Strategies

Update Erlang/OTP to patched versions (27.3.4.18, 28.5.0.7, 29.1.1) or asn1 library to versions 5.3.4.3, 5.4.3.1, 5.5.2. As a temporary workaround, disable the verify_peer option in TLS to prevent certificate parsing.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-65634. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart