{"id":"RUSTSEC-2017-0002","summary":"headers containing newline characters can split messages","details":"Serializing of headers to the socket did not filter the values for newline bytes (`\\r` or `\\n`),\nwhich allowed for header values to split a request or response. People would not likely include\nnewlines in the headers in their own applications, so the way for most people to exploit this\nis if an application constructs headers based on unsanitized user input.\n\nThis issue was fixed by replacing all newline characters with a space during serialization of\na header value.","aliases":["CVE-2017-18587","GHSA-q89x-f52w-6hj2"],"modified":"2023-11-08T03:59:16.284067Z","published":"2017-01-23T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/hyper"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2017-0002.html"},{"type":"WEB","url":"https://github.com/hyperium/hyper/wiki/Security-001"}],"affected":[{"package":{"name":"hyper","ecosystem":"crates.io","purl":"pkg:cargo/hyper"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.9.18"},{"introduced":"0.10.0"},{"fixed":"0.10.2"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"functions":[],"os":[],"arch":[]}},"database_specific":{"categories":[],"cvss":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","informational":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2017-0002.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}]}