DescriptionAn issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. 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 host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.)
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
NVD severitymedium

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python2.7 (PTS)jessie2.7.9-2+deb8u1vulnerable
jessie (security)2.7.9-2+deb8u5vulnerable
stretch (security), stretch2.7.13-2+deb9u3vulnerable
bullseye, sid2.7.18-1fixed
python3.4 (PTS)jessie3.4.2-1vulnerable
jessie (security)3.4.2-1+deb8u7vulnerable
python3.5 (PTS)stretch (security), stretch3.5.3-1+deb9u1vulnerable
python3.7 (PTS)buster3.7.3-2+deb10u1vulnerable
python3.8 (PTS)bullseye3.8.3-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs

Notes (master) (3.8 branch) (3.7 branch) (3.5 branch) (v2.7.18rc1)
Issue only exploitable if CVE-2016-10739 is unfixed in src:glibc. This is
not the case in all suites, but the issue is minor in general and would
tend to a no-dsa/ignored tag in those suites.

Search for package or bug name: Reporting problems