CyberSecBulletin
CVE-2026-59251NVD status: Modified

OTP: Allocation of Resources Without Limits or Throttling

CVE-2026-59251 is a high-severity allocation of resources without limits or throttling vulnerability in OTP from Erlang, with a CVSS 3.1 base score of 7.5 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected OTP versions: 26.2 and later; 1.15 and later; 9d1dda7bad5a64b58c10a1554751689e94131a73 and later. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.34% chance of exploitation within 30 days, which is low compared with other CVEs.

Next patch cycle

High severity with no evidence of exploitation so far.

What to do

  1. Update Erlang/otp to 27.3.4.15 or 28.5.0.4 or 29.0.4, whichever matches your release line, or a later version.
  2. Update Erlang/public Key to 1.17.1.5 or 1.20.3.4 or 1.21.4, whichever matches your release line, or a later version.
  3. Read the advisory on github.com for workarounds and exact fixed builds.
  4. Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.

Affected products and versions

VendorProductAffected versionsFixed in
ErlangOTP26.2 and later; 1.15 and later; 9d1dda7bad5a64b58c10a1554751689e94131a73 and laterNot stated
ErlangErlang/otp26.2 up to, but not including, 27.3.4.15; 28.0 up to, but not including, 28.5.0.4; 29.0 up to, but not including, 29.0.427.3.4.15, 28.5.0.4, 29.0.4
ErlangErlang/public Key1.15 up to, but not including, 1.17.1.5; 1.18 up to, but not including, 1.20.3.4; 1.21 up to, but not including, 1.21.41.17.1.5, 1.20.3.4, 1.21.4

Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.

How the severity score breaks down

Attack vector
NetworkCan be exploited remotely over a network, including the internet.
Attack complexity
LowNo special conditions are needed; the attack works reliably.
Privileges required
NoneNo account or login is needed.
User interaction
NoneNo action by a victim is required.
Scope
UnchangedImpact stays within the vulnerable component.
Confidentiality
NoneNo data is disclosed.
Integrity
NoneNothing can be modified.
Availability
HighThe component can be taken down completely.

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Scored by NVD.

Scoring systemScoreSeverityScored by
CVSS 4.08.7HighCNA
CVSS 3.17.5HighNVD

Official 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 27.3.4.15, OTP 28.5.0.4, and OTP 29.0.4, corresponding to public_key from 1.15 before 1.17.1.5, 1.20.3.4, and 1.21.4.

Source: the CVE record as published by its numbering authority, via NVD and CVE.org.

The underlying weakness: Allocation of Resources Without Limits or Throttling

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.

How developers prevent this class of flaw

  • Clearly specify the minimum and maximum expectations for capabilities, and dictate which behaviors are acceptable when resource allocation reaches limits.
  • Limit the amount of resources that are accessible to unprivileged users. Set per-user limits for resources. Allow the system administrator to define these limits. Be careful to avoid CWE-410.
  • For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side, in order to avoid CWE-602. Attackers can bypass the client-side checks by modifying values after the checks have been performed, or by changing the client to remove the client-side checks entirely. Then, these modified values would be submitted to the server.

More Allocation of Resources Without Limits or Throttling vulnerabilities (CWE-770)

Timeline

  1. CVE record published.
  2. CISA published its SSVC assessment (exploitation: none, automatable: yes, technical impact: partial).
  3. Record last changed materially (score, affected products, status or references).

References

Other vulnerabilities in OTP

All OTP vulnerabilities

Recent Allocation of Resources Without Limits or Throttling vulnerabilities

Spotted an error? Tell us.