{"id":"CVE-2019-25008","aliases":["EUVD-2022-6193","GHSA-xvc9-xwgj-4cq9","RUSTSEC-2019-0033"],"status":"rejected","title":"Duplicate Advisory: Integer Overflow in HeaderMap::reserve() can cause Denial of Service","description":"DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2020-25574. Reason: This candidate is a duplicate of CVE-2020-25574. Notes: All CVE users should reference CVE-2020-25574 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidental usage","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-190","CWE-835"],"published":"2019-11-16T12:00:00Z","modified":"2026-10-20T10:52:53Z","affected":[{"source":"osv","ecosystem":"crates.io","package":"http","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.1.20"}]}],"bundled":2},{"source":"osv","ecosystem":"crates.io","package":"http","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.1.20"}]}],"bundled":2}],"references":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-25008","tags":["advisory"]},{"url":"https://github.com/hyperium/http/issues/352","tags":["fix","web","report"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2019-0033.html","tags":["advisory","web"]},{"url":"https://github.com/advisories/GHSA-xvc9-xwgj-4cq9"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-25574","tags":["advisory"]},{"url":"https://github.com/hyperium/http","tags":["package"]},{"url":"https://crates.io/crates/http","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2019-25008","description":"DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2020-25574. Reason: This candidate is a duplicate of CVE-2020-25574. Notes: All CVE users should reference CVE-2020-25574 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidental usage","status":"rejected","published":"2020-12-31T08:32:00Z","modified":"2021-03-07T19:23:00Z","updated_at":"2026-11-02T14:20:19.737165Z"}],"euvd":[{"id":"EUVD-2022-6193","description":"DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2020-25574. Reason: This candidate is a duplicate of CVE-2020-25574. Notes: All CVE users should reference CVE-2020-25574 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidental usage","status":"published","published":"2020-12-31T08:32:00Z","modified":"2021-03-07T19:23:00Z","updated_at":"2026-11-03T03:51:17.445809Z"}],"ghsa":[{"id":"GHSA-xvc9-xwgj-4cq9","title":"Duplicate Advisory: Integer Overflow in HeaderMap::reserve() can cause Denial of Service","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-x7vr-c387-8w57. This link is maintained to preserve external references.\n\n### Original Description\n\nHeaderMap::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.\n\nIf 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).\n\nThe flaw was corrected in 0.1.20 release of http crate.","status":"withdrawn","published":"2022-06-16T23:08:02Z","modified":"2024-02-21T19:50:56Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T14:37:38.20753Z"}],"nvd":[{"id":"CVE-2019-25008","description":"Rejected reason: DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: CVE-2020-25574. Reason: This candidate is a duplicate of CVE-2020-25574. Notes: All CVE users should reference CVE-2020-25574 instead of this candidate. All references and descriptions in this candidate have been removed to prevent accidental usage","status":"rejected","published":"2020-12-31T10:15:14.58Z","modified":"2023-11-07T03:09:14.66Z","updated_at":"2026-11-02T14:05:48.502374Z"}],"osv":[{"id":"CVE-2020-25574","description":"An issue was discovered in the http crate before 0.1.20 for Rust. An integer overflow in HeaderMap::reserve() could result in denial of service (e.g., an infinite loop).","status":"published","published":"2020-09-14T19:15:11.333Z","modified":"2026-10-20T10:52:53.196608792Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:15.879068Z"},{"id":"GHSA-x7vr-c387-8w57","title":"Integer Overflow/Infinite Loop in the http crate","description":"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.\n\nIf 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).\n\nThe flaw was corrected in 0.1.20 release of http crate.","status":"published","published":"2021-08-25T21:01:31Z","modified":"2026-09-10T03:49:15.774183736Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-190","CWE-835"],"updated_at":"2026-11-02T15:46:59.484835Z"},{"id":"GHSA-xvc9-xwgj-4cq9","title":"Duplicate Advisory: Integer Overflow in HeaderMap::reserve() can cause Denial of Service","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-x7vr-c387-8w57. This link is maintained to preserve external references.\n\n### Original Description\n\nHeaderMap::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.\n\nIf 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).\n\nThe flaw was corrected in 0.1.20 release of http crate.","status":"withdrawn","published":"2022-06-16T23:08:02Z","modified":"2024-02-21T19:50:55Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T15:47:00.604718Z"},{"id":"RUSTSEC-2019-0033","title":"Integer Overflow in HeaderMap::reserve() can cause Denial of Service","description":"`HeaderMap::reserve()` used `usize::next_power_of_two()` to calculate the increased capacity.\nHowever, `next_power_of_two()` silently overflows to 0 if given a sufficiently large number\nin release mode.\n\nIf the map was not empty when the overflow happens,\nthe library will invoke `self.grow(0)` and start infinite probing.\nThis allows an attacker who controls the argument to `reserve()`\nto cause a potential denial of service (DoS).\n\nThe flaw was corrected in 0.1.20 release of `http` crate.","status":"published","published":"2019-11-16T12:00:00Z","modified":"2023-11-08T04:01:32.294723Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:39.492624Z"}]}}
