CVE Vulnerabilities

CVE-2019-9740

Improper Neutralization of CRLF Sequences ('CRLF Injection')

Published: Mar 13, 2019 | Modified: Nov 21, 2024
CVSS 3.x
6.1
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CVSS 2.x
4.3 MEDIUM
AV:N/AC:M/Au:N/C:N/I:P/A:N
RedHat/V2
RedHat/V3
6.5 MODERATE
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

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 rn (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.

Weakness

The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs.

Affected Software

NameVendorStart VersionEnd Version
PythonPython2.0 (including)2.7.17 (excluding)
PythonPython3.5.0 (including)3.5.8 (excluding)
PythonPython3.6.0 (including)3.6.9 (excluding)
PythonPython3.7.0 (including)3.7.4 (excluding)
Red Hat Ansible Tower 3.4 for RHEL 7RedHatansible-tower-34/ansible-tower-memcached:1.4.15-28*
Red Hat Ansible Tower 3.4 for RHEL 7RedHatansible-tower-35/ansible-tower-memcached:1.4.15-28*
Red Hat Ansible Tower 3.4 for RHEL 7RedHatansible-tower-37/ansible-tower-memcached-rhel7:1.4.15-28*
Red Hat Enterprise Linux 7RedHatpython-0:2.7.5-86.el7*
Red Hat Enterprise Linux 7.4 Advanced Update SupportRedHatpython-0:2.7.5-63.el7_4*
Red Hat Enterprise Linux 7.4 Telco Extended Update SupportRedHatpython-0:2.7.5-63.el7_4*
Red Hat Enterprise Linux 7.4 Update Services for SAP SolutionsRedHatpython-0:2.7.5-63.el7_4*
Red Hat Enterprise Linux 7.5 Extended Update SupportRedHatpython-0:2.7.5-74.el7_5*
Red Hat Enterprise Linux 7.6 Extended Update SupportRedHatpython-0:2.7.5-83.el7_6*
Red Hat Enterprise Linux 8RedHatpython27:2.7-8010020190903182548.51c94b97*
Red Hat Enterprise Linux 8RedHatpython3-0:3.6.8-15.1.el8*
Red Hat Enterprise Linux 8RedHatpython3-0:3.6.8-15.1.el8*
Red Hat Software Collections for Red Hat Enterprise Linux 6RedHatpython27-python-0:2.7.16-4.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6RedHatpython27-python-jinja2-0:2.6-12.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 6RedHatrh-python36-python-0:3.6.9-2.el6*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatpython27-python-0:2.7.16-4.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatpython27-python-jinja2-0:2.6-15.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7RedHatrh-python36-python-0:3.6.9-2.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.4 EUSRedHatpython27-python-0:2.7.16-4.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.4 EUSRedHatpython27-python-jinja2-0:2.6-15.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.5 EUSRedHatpython27-python-0:2.7.16-4.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.5 EUSRedHatpython27-python-jinja2-0:2.6-15.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.5 EUSRedHatrh-python36-python-0:3.6.9-2.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUSRedHatpython27-python-0:2.7.16-4.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUSRedHatpython27-python-jinja2-0:2.6-15.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUSRedHatrh-python36-python-0:3.6.9-2.el7*
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUSRedHatrh-python36-python-0:3.6.9-2.el7*
Python2.7Ubuntubionic*
Python2.7Ubuntucosmic*
Python2.7Ubuntudisco*
Python2.7Ubuntuesm-infra-legacy/trusty*
Python2.7Ubuntuesm-infra/bionic*
Python2.7Ubuntuesm-infra/xenial*
Python2.7Ubuntutrusty*
Python2.7Ubuntutrusty/esm*
Python2.7Ubuntuxenial*
Python3.4Ubuntuesm-infra-legacy/trusty*
Python3.4Ubuntutrusty*
Python3.4Ubuntutrusty/esm*
Python3.5Ubuntuesm-infra-legacy/trusty*
Python3.5Ubuntuesm-infra/xenial*
Python3.5Ubuntutrusty*
Python3.5Ubuntutrusty/esm*
Python3.5Ubuntuxenial*
Python3.6Ubuntubionic*
Python3.6Ubuntucosmic*
Python3.6Ubuntuesm-infra/bionic*
Python3.7Ubuntubionic*
Python3.7Ubuntucosmic*
Python3.7Ubuntudisco*

Potential Mitigations

References