CVE-2019-25008
HIGH7.5Integer Overflow in HeaderMap::reserve() can cause Denial of Service
發布日:2021/8/25修改日:2023/11/8
描述
`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.
受影響套件(3)
- crates.io/httpfrom 0, < 0.1.20
- crates.io/httpfrom 0, < 0.1.20
- crates.io/http>= 0.0.0-0, < 0.1.20
CVSS 分數
| 來源 | 版本 | 嚴重程度 | 向量 |
|---|---|---|---|
| osv | CVSS 3.1 | HIGH7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |