RUSTSEC-2019-0033
Dashboard / Vulnerabilities / RUSTSEC-2019-0033
RUSTSEC-2019-0033
Summary: Integer Overflow in HeaderMap::reserve() can cause Denial of Service
Details: `HeaderMap::reserve()` used `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). The flaw was corrected in 0.1.20 release of `http` crate.
References: https://crates.io/crates/http, https://rustsec.org/advisories/RUSTSEC-2019-0033.html, https://github.com/hyperium/http/issues/352
Affected packages
Package
Name: http
Purl: pkg:cargo/http
Affected ranges
Type: SEMVER
Events:
