eldap does not bound the port component of a referral URL before integer conversion (Erlang OTP)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.58 % · percentile 47 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- EEF
- NVD status
- Deferred
Description
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.
Weaknesses (CWE)
- CWE-1284 — Improper Validation of Specified Quantity in Input
References
- https://github.com/erlang/otp/security/advisories/GHSA-9vgh-c8cm-m9p4
- https://cna.erlef.org/cves/CVE-2026-70409.html
- https://osv.dev/vulnerability/EEF-CVE-2026-70409
- https://www.erlang.org/doc/system/versions.html#order-of-versions
- https://github.com/erlang/otp/commit/aba0fe8c2d700bf4ac94607cf7f00e53bbe4042d
- https://github.com/erlang/otp/commit/e3be1cfe9f6cedd0cd20d9905e05601dfb31c8aa
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 4.0 | MEDIUM 6.3 | 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 | EEF |
| CVSS 4.0 | MEDIUM 6.3 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db (Secondary) |
European references
- ENISA EUVD · EUVD-2026-69247
- GCVE · GCVE-0-2026-70409
Affected products
| Product | Versions |
|---|---|
| Erlang · OTP | affected 17.0 < 27.3.4.17 ; affected 28.0 < 28.5.0.6 ; affected 29.0 < 29.0.6 |
| Erlang · OTP | affected 1.0.3 < 1.2.14.2 ; affected 1.2.15 < 1.2.16.1 ; affected 1.3 < 1.3.1 |
| Erlang · OTP | affected d8dbf15de4fa1a08b9a05e7d8e08fdb025fe1dc3 < * |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |