CVE-2026-59251
Received Received - Intake

Denial of Service in Erlang/OTP public_key Certificate Validation

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

Publication date: 2026-07-27

Last updated on: 2026-07-27

Assigner: EEF

Description

Allocation of resources without limits in Erlang/OTP public_key certificate path validation allows a remote unauthenticated attacker to cause denial of service by sending a crafted X.509 certificate chain during the TLS handshake. During RFC 5280 policy processing in public_key:pkix_path_validation/3, the certificate policy tree maintained by pubkey_policy_tree grows without an upper bound. When a certificate chain contains M policies per certificate and K certificates, the tree grows on the order of M^K nodes because pubkey_policy_tree:add_leaves/2 and pubkey_policy_tree:add_leaf_siblings/2 extend the tree per policy per certificate. A modest chain with many policies per certificate is enough to pin BEAM schedulers and exhaust the node's memory, taking down the entire VM. The attacker only needs to be able to present a certificate chain to the victim, which is the normal precondition for a TLS handshake, so exploitation succeeds against any incoming or outgoing TLS connection that validates the peer's chain (the default for SSL/TLS clients and mutual-TLS servers). This is the same vulnerability class as OpenSSL's X509_verify_cert policy tree DoS. This vulnerability is associated with program files lib/public_key/src/pubkey_policy_tree.erl and program routines pubkey_policy_tree:add_leaves/2 and pubkey_policy_tree:add_leaf_siblings/2. This issue affects OTP from OTP 26.2 before OTPΒ 29.0.4, OTPΒ 28.5.0.4 and OTPΒ 27.3.4.15, corresponding to public_key from 1.15 before 1.21.4, 1.20.3.4 and 1.17.1.5.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 10 associated CPEs
Vendor Product Version / Range
erlang otp to 29.0.4 (exc)
erlang otp 28.5.0.4
erlang otp 27.3.4.15
erlang public_key to 1.21.4 (exc)
erlang public_key 1.20.3.4
erlang public_key 1.17.1.5
erlang otp From 26.2 (inc) to 29.0.4 (exc)
erlang public_key From 1.15 (inc) to 1.21.4 (exc)
erlang otp From 28.5.0 (inc) to 28.5.0.4 (exc)
erlang otp From 27.3.4 (inc) to 27.3.4.15 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a denial-of-service vulnerability in Erlang/OTP where a remote attacker sends a crafted X.509 certificate chain during TLS handshake. The certificate chain contains multiple policies per certificate, causing the policy tree to grow exponentially (M^K nodes). This exhausts memory and CPU, crashing the BEAM virtual machine. The issue lies in public_key:pkix_path_validation/3 and functions pubkey_policy_tree:add_leaves/2 and pubkey_policy_tree:add_leaf_siblings/2.

Detection Guidance

Monitor for excessive CPU or memory usage during TLS handshakes. Check Erlang VM logs for errors like {bad_cert, policy_tree_exceeded} or scheduler pinning. Use network traffic analysis tools to inspect certificate chains for unusual policy mappings.

Impact Analysis

An attacker can cause system outages by sending malicious certificate chains, leading to high CPU and memory usage. This affects any application using Erlang SSL/TLS for certificate validation, including clients and mutual-TLS servers. The attack requires no authentication and can disrupt entire systems by pinning schedulers and exhausting resources.

Compliance Impact

This vulnerability could impact compliance with GDPR and HIPAA by causing system unavailability due to denial-of-service conditions. GDPR requires data processing systems to ensure availability and resilience, while HIPAA mandates reliable access to protected health information. Exploitation of this flaw may lead to prolonged downtime, violating these requirements.

Mitigation Strategies

Upgrade to patched versions: OTP 29.0.4, 28.5.0.4, 27.3.4.15, or later. Apply OS-level resource limits (ulimit, cgroups) to restrict BEAM memory usage. Set strict TLS connection timeouts and rate-limit incoming TLS connections.

Chat Assistant

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

EPSS Chart