Bug 1775365

Summary: CVE-2019-11236 python-pip-epel: python-urllib3: CRLF injection due to not encoding the '\r\n' sequence leading to possible attack on internal service [epel-7]
Product: [Fedora] Fedora EPEL Reporter: Tomas Hoger <thoger>
Component: python-pip-epelAssignee: Lumír Balhar <lbalhar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: epel7CC: lbalhar, python-sig
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-pip-epel-8.1.2-12.el7 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-15 00:34:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1700824    

Description Tomas Hoger 2019-11-21 19:38:03 UTC
This is an automatically created tracking bug!  It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of epel-7.

For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.

For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs

When submitting as an update, use the fedpkg template provided in the next
comment(s).  This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.

Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.

Comment 1 Tomas Hoger 2019-11-21 19:38:06 UTC
Use the following template to for the 'fedpkg update' request to submit an
update for this issue as it contains the top-level parent bug(s) as well as
this tracking bug.  This will ensure that all associated bugs get updated
when new packages are pushed to stable.

=====

# bugfix, security, enhancement, newpackage (required)
type=security

# low, medium, high, urgent (required)
severity=medium

# testing, stable
request=testing

# Bug numbers: 1234,9876
bugs=1700824,1775365

# Description of your update
notes=Security fix for [PUT CVEs HERE]

# Enable request automation based on the stable/unstable karma thresholds
autokarma=True
stable_karma=3
unstable_karma=-3

# Automatically close bugs when this marked as stable
close_bugs=True

# Suggest that users restart after update
suggest_reboot=False

======

Additionally, you may opt to use the bodhi web interface to submit updates:

https://bodhi.fedoraproject.org/updates/new

Comment 2 Lumír Balhar 2020-01-13 10:24:03 UTC
Another bundled urllib3 fixed in the same way as the original python-urllib3 package. Patches adjusted to work with these specific versions of urllib3 and other bundled libraries.

PR: https://src.fedoraproject.org/rpms/python-pip-epel/pull-request/1

Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=40468299

### Python 2

python2-pip-8.1.2-10:
# PYTHONPATH=/usr/lib/python2.7/site-packages/pip/_vendor/requests/packages/ python2 repro.py 
HTTPConnectionPool(host='127.0.0.1', port=7777): Max retries exceeded with url: /?a=1 HTTP/1.1
X-injected: header
TEST: 123:8080/test/?test=a (Caused by ProtocolError('Connection aborted.', InvalidURL("URL can't contain control characters. '/?a=1 HTTP/1.1\\r\\nX-injected: header\\r\\nTEST: 123:8080/test/?test=a' (found at least ' ')",)))


python2-pip-8.1.2-11
# PYTHONPATH=/usr/lib/python2.7/site-packages/pip/_vendor/requests/packages/ python2 repro.py
HTTPConnectionPool(host='127.0.0.1', port=7777): Max retries exceeded with url: /?a=1%20HTTP/1.1%0D%0AX-injected:%20header%0D%0ATEST:%20123:8080/test/?test=a (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f5fc0fe7950>: Failed to establish a new connection: [Errno 111] Connection refused',))

### Python 3.4

python34-pip-8.1.2-10
# PYTHONPATH=/usr/lib/python3.4/site-packages/pip/_vendor/requests/packages/ python3.4 repro.py 
HTTPConnectionPool(host='127.0.0.1', port=7777): Max retries exceeded with url: /?a=1 HTTP/1.1
X-injected: header
TEST: 123:8080/test/?test=a (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f01d9723dd8>: Failed to establish a new connection: [Errno 111] Connection refused',))

python34-pip-8.1.2-11
# PYTHONPATH=/usr/lib/python3.4/site-packages/pip/_vendor/requests/packages/ python3.4 repro.py
HTTPConnectionPool(host='127.0.0.1', port=7777): Max retries exceeded with url: /?a=1%20HTTP/1.1%0D%0AX-injected:%20header%0D%0ATEST:%20123:8080/test/?test=a (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f16ad152f28>: Failed to establish a new connection: [Errno 111] Connection refused',))

Comment 3 Fedora Update System 2020-01-21 02:10:22 UTC
python-pip-epel-8.1.2-11.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-d60f779676

Comment 4 Fedora Update System 2020-02-15 00:34:30 UTC
python-pip-epel-8.1.2-12.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.