Skip to main content

Erlang/OTP eldap EUVDEUVD-2026-69247

| CVE-2026-70409 MEDIUM
Improper Validation of Specified Quantity in Input (CWE-1284)
2026-09-01 EEF
6.3
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker controls or compromises LDAP server
  2. Delivery
    Victim application sends LDAP query
  3. Exploit
    Server returns referral URL with ~1M-digit port string
  4. Execution
    Application passes referral to eldap:parse_ldap_url/1
  5. Persist
    Unbounded list_to_integer/1 consumes CPU for hundreds of milliseconds
  6. Impact
    Repeated referrals sustain availability degradation

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Input size validation
Exploitation Conditions

Exploitation requires two simultaneous conditions: (1) the attacker must control or have compromised the LDAP server to which the target application connects - passive network interception of unencrypted LDAP traffic (port 389) would also satisfy this prerequisite; and (2) the application must explicitly pass server-supplied LDAP referral strings to eldap:parse_ldap_url/1. The second condition is the primary limiter: the CVE description explicitly states that eldap itself never calls parse_ldap_url/1 and returns referral strings to callers unparsed, meaning only application-layer code that implements LDAP referral chasing is affected. Default eldap usage without referral processing is not vulnerable regardless of LDAP server behavior. There is no authentication requirement on the victim side (PR:N), and no user interaction is needed once the application connects to the malicious server.

Impact

The CVSS 4.0 score of 6.3 with VA:L (low availability impact) and AT:P (attack prerequisites present) accurately reflects constrained real-world risk. Exploitation requires two concurrent conditions: attacker control of the LDAP server and an application that explicitly passes server-supplied referral strings to eldap:parse_ldap_url/1 - a non-default code path since eldap itself never invokes this function. The practical impact is service degradation (hundreds of milliseconds of stall per referral), not a complete denial of service or crash, making sustained exploitation a deliberate multi-request effort rather than a single-shot attack. No EPSS data is present in the input; no KEV listing exists; no public exploit code has been identified. This represents a moderate priority for Erlang applications that implement LDAP referral chasing, and effectively zero priority for applications that do not. The 'Information Disclosure' tag applied to this CVE in the source metadata is incorrect - the CVSS confirms zero confidentiality impact (VC:N), and the description describes availability degradation only.

Exploit ScenarioDerived

An attacker who controls or compromises an LDAP server targeted by an Erlang application responds to LDAP search queries with referral responses embedding a port field containing approximately one million consecutive ASCII digits. When the application passes this referral string to eldap:parse_ldap_url/1, the unbounded list_to_integer/1 call in parse_port/2 consumes several hundred milliseconds of CPU time on the BEAM scheduler. By repeatedly issuing crafted referrals, the attacker sustains CPU saturation, degrading the availability of the LDAP client process and any dependent application logic. No public exploit code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 01, 2026

CPU exhaustion in Erlang/OTP's eldap library allows a malicious or compromised LDAP server to degrade availability by returning referral URLs containing port components composed of up to ~1.26 million digits. The function eldap:parse_port/2 passes the port substring unbounded to Erlang's list_to_integer/1, which performs arbitrary-precision bignum arithmetic - consuming hundreds of milliseconds of CPU time per crafted referral. Exposure is limited to applications that explicitly pass server-supplied LDAP referrals to eldap:parse_ldap_url/1, as eldap itself never calls this function; no public exploit or CISA KEV listing exists at time of analysis.

RemediationAI

Upgrade to Erlang/OTP 27.3.4.17, 28.5.0.6, or 29.0.6 or later, which contain the fix via commits aba0fe8c2d700bf4ac94607cf7f00e53bbe4042d and e3be1cfe9f6cedd0cd20d9905e05601dfb31c8aa. The patch adds a five-character length guard on the port substring before list_to_integer/1 is called, rejecting any port string exceeding valid TCP port range. If immediate upgrade is not feasible, the most effective compensating control is to audit application code for any call path that passes LDAP server-supplied referral strings to eldap:parse_ldap_url/1 and remove or sandbox those paths - since eldap itself never calls this function, applications that do not implement referral chasing are not exposed. As a network-layer mitigation, restricting LDAP connectivity to trusted, internally controlled servers eliminates the attacker-controlled-server prerequisite. See the vendor advisory at https://github.com/erlang/otp/security/advisories/GHSA-9vgh-c8cm-m9p4.

Affected VersionsENISA

otp 29.0 <29.0.6
otp 17.0 <27.3.4.17
otp d8dbf15de4fa1a08b9a05e7d8e08fdb025fe1dc3 <*
otp 1.3 <1.3.1
otp 1.2.15 <1.2.16.1
otp 1.0.3 <1.2.14.2
otp 28.0 <28.5.0.6

Affected Packages

euvd otp fix: 1.2.14.2, 1.2.16.1, 1.3.1, 27.3.4.17, 28.5.0.6, 29.0.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the eldap LDAP client library bundled with Erlang/OTP (CPE: cpe:2.3:a:erlang:otp), classified under CWE-1284 (Improper Validation of Specified Quantity in Input). The root cause is that parse_port/2 in eldap.erl extracts the port substring from an LDAP referral URL and passes it directly to Erlang's list_to_integer/1 built-in with no length check. Erlang integers are natively arbitrary-precision (bignum); list_to_integer/1 is documented to accept integers of any size, placing bounds-checking responsibility entirely on the caller. A surrounding try/catch only rejects non-numeric input, not syntactically valid but astronomically large integers - a ~1.26 million digit string parses successfully and saturates the BEAM scheduler process for hundreds of milliseconds. The fix (commits aba0fe8 and e3be1cf) adds a guard clause when length(Sport) =< 5 to enforce a five-character maximum, sufficient for the full valid TCP port range 0-65535. The same patch commit also adds max_header_size and max_body_size options to inets/httpc as a bundled defense-in-depth measure unrelated to the LDAP flaw.

Know when Erlang gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Requires attacker-controlled LDAP server AND application referral-chasing code path, yielding AC:H; impact is partial CPU stall, not full crash, so A:L.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat 5.3 MEDIUM

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Improper Validation of Specified Quantity in Input vulnerability in Erlang/OTP eldap allows a malicious or compromised LDAP server to degrade availability by returning a referral URL whose port component is a very long run of digits.

eldap:parse_port/2 passes the port substring straight to list_to_integer/1 with no length bound. The surrounding try ... catch only rejects a value that fails to parse, so a syntactically valid port of up to roughly 1.26 million digits converts successfully and costs the caller hundreds of milliseconds of arbitrary-precision arithmetic per referral. The conversion function itself is documented to accept integers of any size, so bounding the input is the caller's responsibility. Reaching the flaw requires the application to pass a server-supplied referral to eldap:parse_ldap_url/1, which eldap never calls itself: referral strings are returned to the caller unparsed.

This issue affects OTP from OTP 17.0 before OTP 27.3.4.17, from OTP 28.0 before OTP 28.5.0.6, and from OTP 29.0 before OTP 29.0.6, corresponding to eldap from 1.0.3 before 1.2.14.2, from 1.2.15 before 1.2.16.1, and from 1.3 before 1.3.1.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
used in telecom, RabbitMQ, WhatsApp backend, messaging infrastructure
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

More in Erlang

View all
CVE-2025-32433 CRITICAL POC
10.0 Apr 16

Erlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling

CVE-2017-1000385 MEDIUM POC
5.9 Dec 12

The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2020-13802 CRITICAL POC
9.8 Sep 02

Rebar3 versions 3.0.0-beta.3 to 3.13.2 are vulnerable to OS command injection via URL parameter of dependency specificat

CVE-2014-1693 HIGH POC
7.5 Dec 08

Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje

CVE-2021-29221 HIGH POC
7.0 Apr 09

A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV

CVE-2016-10253 CRITICAL
9.8 Mar 18

An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab

CVE-2022-37026 CRITICAL
9.8 Sep 21

In Erlang/OTP before 23.3.4.15, 24.x before 24.3.4.2, and 25.x before 25.0.2, there is a Client Authentication Bypass in

CVE-2026-89422 CRITICAL
9.3 Sep 22

Erlang/OTP's ssl application in affected releases (OTP 22.2 through the fixed 27.3.4.18, 28.5.0.7 and 29.1.1) will compl

CVE-2026-67404 CRITICAL
9.2 Sep 23

RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b

CVE-2026-67231 CRITICAL
9.1 Sep 23

TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged

CVE-2026-55953 CRITICAL
9.1 Jul 27

An on-path attacker can force an Erlang/OTP TLS 1.2 or DTLS client to accept an anonymous cipher suite not offered by th

Vendor StatusVendor

SUSE

Severity: Low
Product Status
SUSE Linux Enterprise Module for Server Applications 15 SP7 Affected
SUSE Linux Enterprise Module for Server Applications 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy