Uma validação inadequada da quantidade especificada na entrada no módulo `URI` da biblioteca padrão do Elixir permite que um invasor cause a negação de serviço através do esgotamento da CPU ao fornecer uma URL com um componente de porta excessivamente longo. A função `URI.parse/1` utiliza `String.to integer/1` dentro de `split authority/1` para converter a porta sem limitar seu comprimento, permitindo a criação de um bignum (um número inteiro grande) de até 1.262.592 dígitos decimais. Quando esta URI analisada é convertida de volta para texto via `URI.to string/1`, `inspect/1`, logging ou formatação de erro, ela utiliza `:erlang.integer to binary/1`. No Erlang/OTP 27, 28 e 29.0, esse processo de conversão é quadrático, o que significa que o tempo de CPU necessário aumenta significativamente conforme o número de dígitos cresce. Por exemplo, uma porta com 400.000 dígitos pode levar aproximadamente 2,6 segundos para ser renderizada, enquanto uma porta de 1 MB pode levar cerca de 18 segundos. Isso pode levar ao esgotamento da CPU em servidores que analisam e, posteriormente, registram ou ecoam URLs fornecidas pelo usuário em campos de formulário ou corpo JSON.