First published: Fri Jul 05 2019(Updated: )
An issue was discovered in urllib/urllib2 in Python. CRLF injection is possible if the attacker controls the host part of the url parameter passed to urlopen(). The fix for <a href="https://access.redhat.com/security/cve/CVE-2019-9947">CVE-2019-9947</a> is ineffective if the glibc version used by python is still affected by <a href="https://access.redhat.com/security/cve/CVE-2016-10739">CVE-2016-10739</a>. The original fix for <a href="https://access.redhat.com/security/cve/CVE-2019-9947">CVE-2019-9947</a> only checked the part of the URL after the port (e.g. in "<a href="http://server:7777/my/path?query">http://server:7777/my/path?query</a>" only "/my/path?query" was checked for invalid characters) so if an attacker can control the hostname part he is still able to inject HTTP headers. Due to <a href="https://access.redhat.com/security/cve/CVE-2016-10739">CVE-2016-10739</a>, getaddrinfo() resolves an invalid hostname as a valid one, so the URL can contain CLRF sequences and, at the same time, it can be resolved to a valid host. Reference: <a href="https://bugs.python.org/issue30458#msg347282">https://bugs.python.org/issue30458#msg347282</a>
Affected Software | Affected Version | How to fix |
---|---|---|
urllib3 | ||
urllib |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-1727276 is considered high due to the potential for CRLF injection.
To fix REDHAT-BUG-1727276, ensure you update to the latest version of Python urllib or urllib2 that addresses this vulnerability.
Python urllib and urllib2 are both affected by REDHAT-BUG-1727276, particularly in configurations where the host part of the URL can be controlled.
REDHAT-BUG-1727276 represents a CRLF injection vulnerability that can be exploited through controlled URL parameters.
No, the fix for CVE-2019-9947 is reported to be ineffective for REDHAT-BUG-1727276 under certain glibc versions.