{"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-01T04:50:54.230790Z","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":{"functions":["http::header::HeaderMap::drain"],"os":[],"arch":[]},"affected_functions":null},"database_specific":{"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2019-0034.json","informational":null,"categories":["memory-corruption"],"cvss":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}}],"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"}]}