{"id":"RUSTSEC-2019-0034","summary":"HeaderMap::Drain API is unsound","details":"Affected versions of this crate incorrectly used raw pointer,\nwhich introduced unsoundness in its public safe API.\n\n[Failing to drop the Drain struct causes double-free](https://github.com/hyperium/http/issues/354),\nand [it is possible to violate Rust's alias rule and cause data race with Drain's Iterator implementation](https://github.com/hyperium/http/issues/355).\n\nThe flaw was corrected in 0.1.20 release of `http` crate.","aliases":["CVE-2019-25009","GHSA-6rhx-hqxm-8p36"],"modified":"2023-11-08T04:01:32.355317Z","published":"2019-11-16T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/http"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2019-0034.html"}],"affected":[{"package":{"name":"http","ecosystem":"crates.io","purl":"pkg:cargo/http"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.1.20"}]}],"ecosystem_specific":{"affects":{"os":[],"functions":["http::header::HeaderMap::drain"],"arch":[]},"affected_functions":null},"database_specific":{"categories":["memory-corruption"],"informational":null,"cvss":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2019-0034.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}