PT-2019-16425 · Rust · Http Crate
Publicado
2019-11-16
·
Atualizado
2022-06-16
·
CVE-2019-25008
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
http crate versions prior to 0.1.20
Description
The issue arises from the
HeaderMap::reserve() function using usize::next power of two() to calculate the increased capacity. However, next power of two() silently overflows to 0 if given a sufficiently large number in release mode. If the map was not empty when the overflow happens, the library will invoke self.grow(0) and start infinite probing. This allows an attacker who controls the argument to reserve() to cause a potential denial of service (DoS).Recommendations
For versions prior to 0.1.20, update to version 0.1.20 or later to resolve the issue. As a temporary workaround, consider restricting the use of the
reserve() function to prevent potential denial of service attacks. Avoid using the reserve() function with large arguments until the issue is resolved.Correção
Infinite Loop
Integer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Http Crate