{"id":"UBUNTU-CVE-2019-9947","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 path component of a URL that lacks a ? character) followed by an HTTP header or a Redis command. This is similar to the CVE-2019-9740 query string issue. 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.","modified":"2026-01-30T00:37:28.355516Z","published":"2019-03-23T00:00:00Z","related":["USN-4127-1","USN-4127-2","USN-6891-1"],"upstream":["CVE-2019-9947"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2019-9947"},{"type":"REPORT","url":"https://python-security.readthedocs.io/vuln/http-header-injection2.html"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-4127-1"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-4127-2"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2019-9947"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-6891-1"}],"affected":[{"package":{"name":"python2.7","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/python2.7@2.7.6-8ubuntu0.6+esm2?arch=source&distro=trusty/esm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.6-8ubuntu0.6+esm2"}]}],"versions":["2.7.5-8ubuntu3","2.7.5-8ubuntu4","2.7.6-2","2.7.6-2ubuntu1","2.7.6-3","2.7.6-3ubuntu1","2.7.6-4","2.7.6-4ubuntu1","2.7.6-5","2.7.6-7","2.7.6-8","2.7.6-8ubuntu0.2","2.7.6-8ubuntu0.3","2.7.6-8ubuntu0.4","2.7.6-8ubuntu0.5"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python2.7","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"libpython2.7","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"libpython2.7-dev","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"libpython2.7-minimal","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"libpython2.7-stdlib","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"libpython2.7-testsuite","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"python2.7","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"python2.7-dev","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"python2.7-examples","binary_version":"2.7.6-8ubuntu0.6+esm2"},{"binary_name":"python2.7-minimal","binary_version":"2.7.6-8ubuntu0.6+esm2"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}},{"package":{"name":"python3.4","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/python3.4@3.4.3-1ubuntu1~14.04.7+esm2?arch=source&distro=trusty/esm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.4.3-1ubuntu1~14.04.7+esm2"}]}],"versions":["3.4~b1-0ubuntu3","3.4~b1-4ubuntu4","3.4~b1-4ubuntu6","3.4~b1-5ubuntu2","3.4~b2-1","3.4~b3-1ubuntu1","3.4~rc1-1build1","3.4~rc2-1","3.4~rc3-0ubuntu1","3.4.0-1","3.4.0-2ubuntu1","3.4.0-2ubuntu1.1","3.4.3-1ubuntu1~14.04.1","3.4.3-1ubuntu1~14.04.3","3.4.3-1ubuntu1~14.04.4","3.4.3-1ubuntu1~14.04.5","3.4.3-1ubuntu1~14.04.6","3.4.3-1ubuntu1~14.04.7"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python3.4","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"libpython3.4","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"libpython3.4-dev","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"libpython3.4-minimal","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"libpython3.4-stdlib","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"libpython3.4-testsuite","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"python3.4","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"python3.4-dev","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"python3.4-examples","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"python3.4-minimal","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"},{"binary_name":"python3.4-venv","binary_version":"3.4.3-1ubuntu1~14.04.7+esm2"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}},{"package":{"name":"python3.5","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/python3.5@3.5.2-2ubuntu0~16.04.4~14.04.1+esm1?arch=source&distro=trusty/esm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"}]}],"versions":["3.5.2-2ubuntu0~16.04.4~14.04.1"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python3.5","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"libpython3.5","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"libpython3.5-dev","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"libpython3.5-minimal","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"libpython3.5-stdlib","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"libpython3.5-testsuite","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"python3.5","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"python3.5-dev","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"python3.5-examples","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"python3.5-minimal","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"},{"binary_name":"python3.5-venv","binary_version":"3.5.2-2ubuntu0~16.04.4~14.04.1+esm1"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}},{"package":{"name":"python2.7","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/python2.7@2.7.12-1ubuntu0~16.04.8?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.12-1ubuntu0~16.04.8"}]}],"versions":["2.7.10-4ubuntu1","2.7.10-4ubuntu2","2.7.11-2","2.7.11-3","2.7.11-4","2.7.11-6","2.7.11-7","2.7.11-7ubuntu1","2.7.12-1~16.04","2.7.12-1ubuntu0~16.04.1","2.7.12-1ubuntu0~16.04.2","2.7.12-1ubuntu0~16.04.3","2.7.12-1ubuntu0~16.04.4"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python2.7","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"libpython2.7","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"libpython2.7-dev","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"libpython2.7-minimal","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"libpython2.7-stdlib","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"libpython2.7-testsuite","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"python2.7","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"python2.7-dev","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"python2.7-examples","binary_version":"2.7.12-1ubuntu0~16.04.8"},{"binary_name":"python2.7-minimal","binary_version":"2.7.12-1ubuntu0~16.04.8"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}},{"package":{"name":"python3.5","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/python3.5@3.5.2-2ubuntu0~16.04.8?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.5.2-2ubuntu0~16.04.8"}]}],"versions":["3.5.0-3","3.5.0-3ubuntu1","3.5.1~rc1-2ubuntu1","3.5.1-1","3.5.1-2","3.5.1-3","3.5.1-5","3.5.1-6ubuntu1","3.5.1-6ubuntu2","3.5.1-9ubuntu1","3.5.1-10","3.5.2-2~16.01","3.5.2-2~16.04","3.5.2-2ubuntu0~16.04.1","3.5.2-2ubuntu0~16.04.2","3.5.2-2ubuntu0~16.04.3","3.5.2-2ubuntu0~16.04.4","3.5.2-2ubuntu0~16.04.5"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python3.5","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"libpython3.5","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"libpython3.5-dev","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"libpython3.5-minimal","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"libpython3.5-stdlib","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"libpython3.5-testsuite","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"python3.5","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"python3.5-dev","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"python3.5-examples","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"python3.5-minimal","binary_version":"3.5.2-2ubuntu0~16.04.8"},{"binary_name":"python3.5-venv","binary_version":"3.5.2-2ubuntu0~16.04.8"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}},{"package":{"name":"python2.7","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/python2.7@2.7.15-4ubuntu4~18.04.1?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.7.15-4ubuntu4~18.04.1"}]}],"versions":["2.7.14-2ubuntu2","2.7.14-4","2.7.14-6","2.7.14-7","2.7.14-8","2.7.15~rc1-1","2.7.15~rc1-1ubuntu0.1","2.7.15-4ubuntu4~18.04"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python2.7","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"libpython2.7","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"libpython2.7-dev","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"libpython2.7-minimal","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"libpython2.7-stdlib","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"libpython2.7-testsuite","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"python2.7","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"python2.7-dev","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"python2.7-examples","binary_version":"2.7.15-4ubuntu4~18.04.1"},{"binary_name":"python2.7-minimal","binary_version":"2.7.15-4ubuntu4~18.04.1"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}},{"package":{"name":"python3.6","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/python3.6@3.6.8-1~18.04.2?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.6.8-1~18.04.2"}]}],"versions":["3.6.3-1ubuntu1","3.6.4~rc1-1","3.6.4~rc1-2","3.6.4-1","3.6.4-2","3.6.4-3build1","3.6.4-4","3.6.5~rc1-1","3.6.5-3","3.6.6-1~18.04","3.6.7-1~18.04","3.6.8-1~18.04.1"],"ecosystem_specific":{"binaries":[{"binary_name":"idle-python3.6","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"libpython3.6","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"libpython3.6-dev","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"libpython3.6-minimal","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"libpython3.6-stdlib","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"libpython3.6-testsuite","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"python3.6","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"python3.6-dev","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"python3.6-examples","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"python3.6-minimal","binary_version":"3.6.8-1~18.04.2"},{"binary_name":"python3.6-venv","binary_version":"3.6.8-1~18.04.2"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2019/UBUNTU-CVE-2019-9947.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"},{"type":"Ubuntu","score":"medium"}]}