{"id":"PSF-2019-10","summary":"HTTP Header Injection (follow-up of CVE-2016-5699)","details":"An issue was discovered in urllib2 in Python 2.x through 2.7.16 and urllib in Python 3.x through 3.7.3. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \\r\\n (specifically in the query string after a ? character) followed by an HTTP header or a Redis command. This is fixed in: v2.7.17, v2.7.17rc1, v2.7.18, v2.7.18rc1; v3.5.10, v3.5.10rc1, v3.5.8, v3.5.8rc1, v3.5.8rc2, v3.5.9; v3.6.10, v3.6.10rc1, v3.6.11, v3.6.11rc1, v3.6.12, v3.6.9, v3.6.9rc1; v3.7.4, v3.7.4rc1, v3.7.4rc2, v3.7.5, v3.7.5rc1, v3.7.6, v3.7.6rc1, v3.7.7, v3.7.7rc1, v3.7.8, v3.7.8rc1, v3.7.9.","aliases":["CVE-2019-9740"],"modified":"2026-05-18T05:46:10.595994232Z","published":"2019-03-13T03:00:00Z","database_specific":{"cwe_ids":[]},"references":[{"type":"REPORT","url":"https://bugs.python.org/issue30458"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/python/cpython","events":[{"introduced":"0"},{"fixed":"7e200e0763f5b71c199aaf98bd5588f291585619"},{"fixed":"afe3a4975cf93c97e5d6eb8800e48f368011d37a"},{"fixed":"bb8071a4cae5ab3fe321481dd3d73662ffb26052"},{"fixed":"c4e671eec20dfcb29b18596a89ef075f826c9f96"},{"fixed":"c50d437e942d4c4c45c8cd76329b05340c02eb31"}]}],"versions":["v3.7.3rc1","v3.5.7","v3.5.7rc1","v2.7.16rc1","v3.6.8","v3.7.2rc1","v3.6.8rc1","v3.5.6","v3.5.6rc1","v3.7.0rc1","v3.6.6rc1","v3.7.0b5","v3.7.0b4","v2.7.15rc1","v3.7.0b3","v3.7.0b2","v3.5.5","v3.5.5rc1","v3.7.0b1","v3.7.0a2","v3.5.4","v3.5.4rc1","v3.6.2rc1","v3.5.3","v3.5.3rc1","v3.6.0rc1","v2.7.13rc1","v3.6.0b4","v3.6.0b3","v3.6.0b1","v3.6.0a3","v3.5.2","v3.5.2rc1","v2.7.12rc1","v3.5.1rc1","v2.7.11rc1","v3.5.0rc3","v3.5.0rc2","v3.5.0rc1","v3.5.0b4","v3.5.0b3","v3.5.0b1","v2.7.10rc1","v3.5.0a4","v3.5.0a3","v3.5.0a2","v3.5.0a1","v2.7.9rc1","v2.7.8","v3.4.0b3","v3.4.0b2","v3.4.0b1","v2.7.6rc1","v3.4.0a4","v3.4.0a3","v3.4.0a2","v3.4.0a1","v2.7.5","v2.7.4rc1","v3.3.0rc3","v3.3.0rc2","v3.3.0rc1","v3.3.0b2","v3.3.0b1","v3.3.0a4","v3.3.0a3","v3.3.0a2","v2.7.3rc1","v2.7.2rc1","v2.7","v3.2rc3","v3.2rc2","v3.2rc1","v3.2b2","v3.2b1","v2.7.1","v2.7.1rc1","v3.2a4","v3.2a3","v3.2a2","v3.2a1","v2.7rc2","v2.7rc1","v2.7b2","v2.7b1","v2.7a4","v2.7a3","v2.7a2","v2.7a1","v3.1","v3.1rc2","v3.1rc1","v3.1b1","v3.1a2","v3.1a1","v3.0rc3","v3.0rc2","v2.6","v2.6rc2","v3.0rc1","v2.6rc1","v3.0b3","v2.6b3","v2.6b2","v3.0b2","v2.6b1","v3.0b1","v2.6a3","v3.0a5","v2.6a2","v3.0a4","v3.0a3","v2.6a1","v3.0a2","v3.0a1","v2.5b3","v2.5b2","v2.5b1","v2.5a2","v2.5a1","v2.5a0","v2.4","v2.4c1","v2.4b2","v2.4b1","v2.4a3","v2.4a2","v2.4a1","v2.3c2","v2.3c1","v2.2a3","v2.1","v2.1c2","v2.1c1","v2.1b2","v2.1b1","v2.1a2","v2.1a1","v2.0","v2.0c1","v2.0b2","v2.0b1","v1.6a2","v1.6a1","v1.5.2","v1.5.2c1","v1.5.2b2","v1.5.2b1","v1.5.2a2","v1.5.2a1","v1.5.1","v1.5","v1.5b2","v1.5b1","v1.5a4","v1.5a3","v1.5a2","v1.5a1","v1.4","v1.4b3","v1.4b2","v1.4b1","v1.3","v1.3b1","v1.2","v1.2b4","v1.2b3","v1.2b2","v1.2b1","v1.1.1","v1.1","v1.0.2","v1.0.1","v0.9.9","v0.9.8"],"database_specific":{"source":"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2019-10.json"}}],"schema_version":"1.7.5"}