Impact
uri_string:get_port/1 passes the port substring to integer conversion without a length check, allowing a malicious URI to contain an extremely long digit sequence. The conversion triggers arbitrary-precision arithmetic that consumes significant CPU time, degrading the availability of any Erlang/OTP program that parses such a URI and potentially causing denial of service if the call blocks the process.
Affected Systems
The flaw exists in OTP releases from 21.0 up to but excluding 27.3.4.17, 28.0 up to 28.5.0.6, and 29.0 up to 29.0.6. These correspond to stdlib versions before 6.2.2.5, 7.3.0.2, and 8.0.4, respectively. Any application that uses Erlang/OTP stdlib and parses URIs from untrusted sources is affected.
Risk and Exploitability
The CVSS score of 6.9 indicates a moderate severity. No EPSS data is available and the vulnerability is not listed in CISA KEV. The attack vector is inferred to be remote because the application can receive external URIs; the exploit simply requires submitting a specially crafted URI, after which the parsing function blocks the process. The lack of a port length bound increases the risk of denial of service without additional controls.
OpenCVE Enrichment