CVE-2026-59696 json
uri_string does not bound the port component of a URI before integer conversion
published 2mo ago modified 14h ago also EUVD-2026-69229 , GHSA-8qw4-2chm-mvj2
Unreviewed: the maintainers' own advisory
Published by the maintainers on their GitHub repository erlang/otp. GitHub has not reviewed it into the GitHub Advisory Database, so the affected packages and versions are the maintainers' word. Read the full advisory on GitHub.
- cvss
- 6.9
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 53%
- public exploits
- 0
- none known
Summary
Improper Validation of Specified Quantity in Input vulnerability in Erlang/OTP stdlib allows a remote attacker to degrade availability by supplying a URI whose port component is a very long run of digits.
uri_string:get_port/1 passes the port substring to binary_to_integer/1 with no length bound, catching only error:badarg, so a syntactically valid port of up to roughly 1.26 million digits converts successfully and costs the calling process hundreds of milliseconds of arbitrary-precision arithmetic. The conversion is reached from every authority-parsing path in uri_string:parse/1, including the host, registered-name, and IPv4 and IPv6 forms. parse/1 is the documented interface for parsing URIs, so any application that parses an attacker-supplied URI is exposed without further configuration. The conversion function is documented to accept integers of any size, so bounding the input is the caller's responsibility.
This issue affects OTP from OTP 21.0 before OTP 27.3.4.17, OTP 28.5.0.6, and OTP 29.0.6, corresponding to stdlib from 3.5 before 6.2.2.5, 7.3.0.2, and 8.0.4.
Patch / fix
- Erlang OTP 6.2.2.5, 7.3.0.2, 8.0.4, 27.3.4.17, 28.5.0.6, 29.0.6
- erlang Debian 13 1:27.3.4.1+dfsg-1+deb13u4
- erlang Debian 14 1:29.0.6+dfsg-1
debian advisories DEBIAN-CVE-2026-59696
- erlang Ubuntu 22.04 LTS 1:24.2.1+dfsg-1ubuntu0.7
- erlang Ubuntu 24.04 LTS 1:25.3.2.8+dfsg-1ubuntu4.7
- erlang Ubuntu 26.04 LTS 1:27.3.4.6+dfsg-1ubuntu0.1
- erlang Ubuntu Pro 20.04 LTS 1:22.2.7+dfsg-1ubuntu0.5+esm2
ubuntu advisories UBUNTU-CVE-2026-59696
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/erlang/otp@29a9dd0 commit
- github.com/erlang/otp@aba0fe8 commit
- github.com/erlang/otp@e3be1cf commit
Is CVE-2026-59696 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-59696 updated cvss 5.3
erlang-otp: Erlang/OTP stdlib: Denial of Service via malformed URI port
-
Red Hat OpenStack Platform 16.2 erlang, erlang-ssl, erlang-asn1, erlang-erts, erlang-hipe, erlang-sasl, +15 more Red Hat OpenStack Platform 17.1 erlang, erlang-ssl, erlang-asn1, erlang-erts, erlang-sasl, erlang-snmp, +14 more Red Hat OpenStack Platform 18.0 erlangaffected: workaround, no fix available “Fix deferred”
-
Red Hat Hardened Images erlang27 Red Hat OpenStack Platform 13 (Queens) erlang, erlang-ic, erlang-ftp, erlang-ose, erlang-ssh, erlang-ssl, +36 moreunder investigation
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.71% chance of exploitation in the next 30 days, higher than 53% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/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 |
Affected products
- Erlang OTP
Classification
- Weakness
-
- CWE-1284 Improper Validation of Specified Quantity in Input
References
-
github.com
/erlang/otp/commit/29a9dd0e17a97a3e6e46f0d08c6ba8f31db33f5e
related
-
github.com
/erlang/otp/commit/aba0fe8c2d700bf4ac94607cf7f00e53bbe4042d
patch
-
github.com
/erlang/otp/commit/e3be1cfe9f6cedd0cd20d9905e05601dfb31c8aa
patch
-
github.com
/erlang/otp/security/advisories/GHSA-8qw4-2chm-mvj2
vendor-advisory, advisory
-
cna.erlef.org
/cves/CVE-2026-59696.html
related
-
osv.dev
/vulnerability/EEF-CVE-2026-59696
related
- erlang.org /doc/system/versions.html#order-of-versions
Sources
- CVE List CVE-2026-59696
- NVD CVE-2026-59696
- Maintainer advisory GHSA-8qw4-2chm-mvj2
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of erlang/otp published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.