CVE-2019-9947 json
An issue was discovered in urllib2 in Python 2.x through 2.7.16 and urllib in Python 3.x through 3.7.3.
published 7y ago modified 26d ago also EUVD-2019-19301
- cvss
- 5.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 5.3%
- EPSS 5.3% chance of exploitation in 30 days, percentile 92%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5
- Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP V3.1.5
- Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP V3.1.5
- python2.7 Debian 11 2.7.16-3
debian advisories DEBIAN-CVE-2019-9947
- python2.7 Ubuntu 16.04 LTS 2.7.12-1ubuntu0~16.04.8
- python2.7 Ubuntu 18.04 LTS 2.7.15-4ubuntu4~18.04.1
- python3.5 Ubuntu 16.04 LTS 3.5.2-2ubuntu0~16.04.8
- python3.6 Ubuntu 18.04 LTS 3.6.8-1~18.04.2
- python2.7 Ubuntu Pro 14.04 LTS 2.7.6-8ubuntu0.6+esm2
- python3.4 Ubuntu Pro 14.04 LTS 3.4.3-1ubuntu1~14.04.7+esm2
- python3.5 Ubuntu Pro 14.04 LTS 3.5.2-2ubuntu0~16.04.4~14.04.1+esm1
ubuntu advisories UBUNTU-CVE-2019-9947
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- pytz RHEL 8 2017.2-12.module+el8.1.0+3111+de3f2d8e
- babel RHEL 8 2.5.1-9.module+el8.1.0+3111+de3f2d8e
- numpy RHEL 8 1:1.14.2-13.module+el8.1.0+3323+7ac3e00f
- scipy RHEL 8 1.0.0-20.module+el8.1.0+3323+7ac3e00f
- Cython RHEL 8 0.28.1-7.module+el8.1.0+3111+de3f2d8e
- pytest RHEL 8 3.4.2-13.module+el8.1.0+3111+de3f2d8e
- PyYAML RHEL 8 3.12-16.module+el8.1.0+3111+de3f2d8e
- python2 RHEL 8 2.7.16-12.module+el8.1.0+4148+33a50073
red hat advisories RHSA-2019:3335RHSA-2020:1462RHSA-2020:1346RHSA-2019:3725RHSA-2020:1268RHSA-2019:3520
- python311 Linux Micro 6.0 3.11.13-1.1
- python311-core Linux Micro 6.0 3.11.13-1.1
- python311 Linux Micro 6.0 3.11.11-1.1
- python311-core Linux Micro 6.0 3.11.11-1.1
- python311 Linux Micro 6.0 3.11.8-3.1
- python311-core Linux Micro 6.0 3.11.8-3.1
- python3 SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +16 more 3.4.10-25.52.1
- python3-base SLES for SAP 12 SP5, SLES for SAP 12 SP4, SLES for SAP 12 SP3 +16 more 3.4.10-25.52.1
suse advisories SUSE-SU-2025:20492-1SUSE-SU-2025:20154-1SUSE-SU-2025:20025-1SUSE-SU-2020:2699-1SUSE-RU-2020:0775-1SUSE-SU-2020:0302-1
- python315 openSUSE Tumbleweed 3.15.0~a1-1.1
- python314 openSUSE Tumbleweed 3.14.0~a1-1.1
- python313 openSUSE Tumbleweed 3.13.0~b3-1.1
- python openSUSE Tumbleweed 2.7.18-8.1
- python310 openSUSE Tumbleweed 3.10.0rc1-4.2
- python36 openSUSE Tumbleweed 3.6.15-1.1
- python38 openSUSE Tumbleweed 3.8.12-1.2
- python39 openSUSE Tumbleweed 3.9.7-2.1
opensuse advisories openSUSE-SU-2025:15713-1openSUSE-SU-2024:14434-1openSUSE-SU-2024:14109-1openSUSE-SU-2024:11202-1openSUSE-SU-2024:11283-1openSUSE-SU-2024:11284-1
- python2-py AlmaLinux 8 1.5.3-6.module_el8.6.0+2781+fed64c13
- python2-dns AlmaLinux 8 1.15.0-10.module_el8.6.0+2781+fed64c13
- python2-idna AlmaLinux 8 2.5-7.module_el8.6.0+2781+fed64c13
- python2-mock AlmaLinux 8 2.0.0-13.module_el8.6.0+2781+fed64c13
- python2-pytz AlmaLinux 8 2017.2-12.module_el8.6.0+2781+fed64c13
- python2-attrs AlmaLinux 8 17.4.0-10.module_el8.6.0+2781+fed64c13
- python2-Cython AlmaLinux 8 0.28.1-7.module_el8.6.0+2781+fed64c13
- python2-pluggy AlmaLinux 8 0.6.0-8.module_el8.6.0+2781+fed64c13
almalinux advisories ALSA-2019:3335
- pytz Rocky Linux 8 2017.2-12.module+el8.5.0+706+735ec4b3
- pytz Rocky Linux 8 2017.2-12.module+el8.4.0+403+9ae17a31
- babel Rocky Linux 8 2.5.1-9.module+el8.4.0+403+9ae17a31
- scipy Rocky Linux 8 1.0.0-20.module+el8.3.0+120+426d8baf
- Cython Rocky Linux 8 0.28.1-7.module+el8.5.0+706+735ec4b3
- Cython Rocky Linux 8 0.28.1-7.module+el8.4.0+403+9ae17a31
- pytest Rocky Linux 8 3.4.2-13.module+el8.5.0+706+735ec4b3
- pytest Rocky Linux 8 3.4.2-13.module+el8.4.0+403+9ae17a31
rocky linux advisories RLSA-2019:3335
- bugs.python.org/issue35906 advisory
Is CVE-2019-9947 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-9947 updated cvss 6.5
python: CRLF injection via the path part of the url passed to urlopen()
-
Red Hat Enterprise Linux 5 python Red Hat Enterprise Linux 6 python, tkinter, python-libs, python-test, python-tools Red Hat Software Collections rh-python35-python, rh-python35-python-libs, rh-python35-python-test, rh-python35-python-tools, rh-python35-python-tkinteraffected: no fix planned “Will not fix”
-
Red Hat Ansible Tower 3.4 for RHEL 7 Server ansible-tower-34/ansible-tower-memcached 1.4.15-28, ansible-tower-35/ansible-tower-memcached 1.4.15-28, ansible-tower-37/ansible-tower-memcached-rhel7 1.4.15-28fixed: vendor fix RHBA-2020:0547
-
Red Hat Enterprise Linux AppStream (v. 8) python3-idle 3.6.8-15.1.el8, python3-test 3.6.8-15.1.el8, platform-python 3.6.8-15.1.el8, python3-tkinter 3.6.8-15.1.el8, babel 2.5.1-9.module+el8.1.0+3111+de3f2d8e, pytz 2017.2-12.module+el8.1.0+3111+de3f2d8e, +88 morefixed: vendor fix RHSA-2019:3335
-
Red Hat Enterprise Linux BaseOS (v. 8) python3 3.6.8-15.1.el8, python3-libs 3.6.8-15.1.el8, python3-test 3.6.8-15.1.el8, platform-python 3.6.8-15.1.el8fixed: vendor fix RHSA-2019:3520
-
Red Hat Enterprise Linux Client (v. 7) python 2.7.5-86.el7, python-libs 2.7.5-86.el7 Red Hat Enterprise Linux Client Optional (v. 7) tkinter 2.7.5-86.el7, python-test 2.7.5-86.el7, python-tools 2.7.5-86.el7 Red Hat Enterprise Linux ComputeNode (v. 7) python 2.7.5-86.el7, python-libs 2.7.5-86.el7fixed: vendor fix RHSA-2019:2030
-
Red Hat Enterprise Linux ComputeNode EUS (v. 7.5) python 2.7.5-74.el7_5, python-libs 2.7.5-74.el7_5fixed: vendor fix RHSA-2020:1268
-
Red Hat Enterprise Linux ComputeNode EUS (v. 7.6) python 2.7.5-83.el7_6, python-libs 2.7.5-83.el7_6fixed: vendor fix RHSA-2020:1462
-
Red Hat Enterprise Linux ComputeNode Optional (v. 7) tkinter 2.7.5-86.el7, python-test 2.7.5-86.el7, python-tools 2.7.5-86.el7fixed: vendor fix RHSA-2019:2030
show 16 moreshow fewer
-
Red Hat Enterprise Linux ComputeNode Optional EUS (v. 7.5) tkinter 2.7.5-74.el7_5, python-test 2.7.5-74.el7_5, python-tools 2.7.5-74.el7_5fixed: vendor fix RHSA-2020:1268
-
Red Hat Enterprise Linux ComputeNode Optional EUS (v. 7.6) tkinter 2.7.5-83.el7_6, python-test 2.7.5-83.el7_6, python-tools 2.7.5-83.el7_6 Red Hat Enterprise Linux for ARM and IBM Power LE (POWER9) Server (v. 7) python 2.7.5-83.el7_6, python-libs 2.7.5-83.el7_6 Red Hat Enterprise Linux for ARM and IBM Power LE (POWER9) Server Optional (v. 7) tkinter 2.7.5-83.el7_6, python-test 2.7.5-83.el7_6, python-tools 2.7.5-83.el7_6fixed: vendor fix RHSA-2020:1462
-
Red Hat Enterprise Linux Server (v. 7) python 2.7.5-86.el7, python-libs 2.7.5-86.el7fixed: vendor fix RHSA-2019:2030
-
Red Hat Enterprise Linux Server AUS (v. 7.4) python 2.7.5-63.el7_4, python-libs 2.7.5-63.el7_4 Red Hat Enterprise Linux Server E4S (v. 7.4) python 2.7.5-63.el7_4, python-libs 2.7.5-63.el7_4fixed: vendor fix RHSA-2020:1346
-
Red Hat Enterprise Linux Server EUS (v. 7.5) python 2.7.5-74.el7_5, python-libs 2.7.5-74.el7_5fixed: vendor fix RHSA-2020:1268
-
Red Hat Enterprise Linux Server EUS (v. 7.6) python 2.7.5-83.el7_6, python-libs 2.7.5-83.el7_6fixed: vendor fix RHSA-2020:1462
-
Red Hat Enterprise Linux Server Optional (v. 7) tkinter 2.7.5-86.el7, python-test 2.7.5-86.el7, python-tools 2.7.5-86.el7fixed: vendor fix RHSA-2019:2030
-
Red Hat Enterprise Linux Server Optional AUS (v. 7.4) tkinter 2.7.5-63.el7_4, python-test 2.7.5-63.el7_4, python-tools 2.7.5-63.el7_4 Red Hat Enterprise Linux Server Optional E4S (v. 7.4) tkinter 2.7.5-63.el7_4, python-test 2.7.5-63.el7_4, python-tools 2.7.5-63.el7_4fixed: vendor fix RHSA-2020:1346
-
Red Hat Enterprise Linux Server Optional EUS (v. 7.5) tkinter 2.7.5-74.el7_5, python-test 2.7.5-74.el7_5, python-tools 2.7.5-74.el7_5fixed: vendor fix RHSA-2020:1268
-
Red Hat Enterprise Linux Server Optional EUS (v. 7.6) tkinter 2.7.5-83.el7_6, python-test 2.7.5-83.el7_6, python-tools 2.7.5-83.el7_6fixed: vendor fix RHSA-2020:1462
-
Red Hat Enterprise Linux Server Optional TUS (v. 7.4) tkinter 2.7.5-63.el7_4, python-test 2.7.5-63.el7_4, python-tools 2.7.5-63.el7_4 Red Hat Enterprise Linux Server TUS (v. 7.4) python 2.7.5-63.el7_4, python-libs 2.7.5-63.el7_4fixed: vendor fix RHSA-2020:1346
-
Red Hat Enterprise Linux Workstation (v. 7) python 2.7.5-86.el7, python-libs 2.7.5-86.el7 Red Hat Enterprise Linux Workstation Optional (v. 7) tkinter 2.7.5-86.el7, python-test 2.7.5-86.el7, python-tools 2.7.5-86.el7fixed: vendor fix RHSA-2019:2030
-
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 6) python27-python 2.7.16-4.el6, python27-tkinter 2.7.16-4.el6, rh-python36-python 3.6.9-2.el6, python27-python-jinja2 2.6-12.el6, python27-python-libs 2.7.16-4.el6, python27-python-test 2.7.16-4.el6, +5 more Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) python27-python 2.7.16-4.el7, python27-tkinter 2.7.16-4.el7, rh-python36-python 3.6.9-2.el7, python27-python-jinja2 2.6-15.el7, python27-python-libs 2.7.16-4.el7, python27-python-test 2.7.16-4.el7, +5 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.4) python27-python 2.7.16-4.el7, python27-tkinter 2.7.16-4.el7, python27-python-jinja2 2.6-15.el7, python27-python-libs 2.7.16-4.el7, python27-python-test 2.7.16-4.el7, python27-python-tools 2.7.16-4.el7 Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.5) python27-python 2.7.16-4.el7, python27-tkinter 2.7.16-4.el7, rh-python36-python 3.6.9-2.el7, python27-python-jinja2 2.6-15.el7, python27-python-libs 2.7.16-4.el7, python27-python-test 2.7.16-4.el7, +5 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.6) python27-python 2.7.16-4.el7, python27-tkinter 2.7.16-4.el7, rh-python36-python 3.6.9-2.el7, python27-python-jinja2 2.6-15.el7, python27-python-libs 2.7.16-4.el7, python27-python-test 2.7.16-4.el7, +5 morefixed: vendor fix RHSA-2019:1260
-
Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.7) rh-python36-python 3.6.9-2.el7, rh-python36-python-libs 3.6.9-2.el7, rh-python36-python-test 3.6.9-2.el7, rh-python36-python-tools 3.6.9-2.el7, rh-python36-python-tkinter 3.6.9-2.el7fixed: vendor fix RHSA-2019:3725
-
Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 6) python27-python 2.7.16-4.el6, python27-tkinter 2.7.16-4.el6, rh-python36-python 3.6.9-2.el6, python27-python-jinja2 2.6-12.el6, python27-python-libs 2.7.16-4.el6, python27-python-test 2.7.16-4.el6, +5 more Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) python27-python 2.7.16-4.el7, python27-tkinter 2.7.16-4.el7, rh-python36-python 3.6.9-2.el7, python27-python-jinja2 2.6-15.el7, python27-python-libs 2.7.16-4.el7, python27-python-test 2.7.16-4.el7, +5 morefixed: vendor fix RHSA-2019:1260
-
Red Hat Enterprise Linux 7 python3, python3-idle, python3-libs, python3-test, python3-tkinter Red Hat Enterprise Linux 8 scipy, python36, python-nose, python-wheel, python3-bson, python3-nose, +19 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-23-348-10 updated cvss 6.1
Siemens SIMATIC S7-1500
-
Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0) >= 3.1.0, < 3.1.5 Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AC0) >= 3.1.0, < 3.1.5 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AB0) >= 3.1.0, < 3.1.5 Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP (6ES7518-4FX00-1AC0) >= 3.1.0, < 3.1.5 Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP (6AG1518-4AX00-4AC0) >= 3.1.0, < 3.1.5affected: fixed in V3.1.5, mitigation support.industry.siemens.com
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
5.25% chance of exploitation in the next 30 days, higher than 92% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- bugs.python.org https://bugs.python.org/issue35906 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| CNA | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
Affected products
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP
- Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP
- Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP
Classification
- Weakness
-
- CWE-93 Improper Neutralization of CRLF Sequences
References
-
bugs.python.org
/issue35906
exploit, issue-tracking, patch, vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/JXASHCDD4PQFKTMKQN4YOP5ZH366ABN4/
vendor-advisory
-
access.redhat.com
/errata/RHSA-2019:1260
vendor-advisory, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/JMWSKTNOHSUOT3L25QFJAVCFYZX46FYK/
vendor-advisory
-
access.redhat.com
/errata/RHSA-2019:2030
vendor-advisory, third-party-advisory
-
usn.ubuntu.com
/4127-2/
vendor-advisory, third-party-advisory
-
usn.ubuntu.com
/4127-1/
vendor-advisory, third-party-advisory
-
lists.opensuse.org
/opensuse-security-announce/2019-10/msg00062.html
vendor-advisory, mailing-list, third-party-advisory
-
lists.opensuse.org
/opensuse-security-announce/2019-10/msg00063.html
vendor-advisory, mailing-list, third-party-advisory
-
access.redhat.com
/errata/RHSA-2019:3335
vendor-advisory, third-party-advisory
-
access.redhat.com
/errata/RHSA-2019:3520
vendor-advisory, third-party-advisory
-
access.redhat.com
/errata/RHSA-2019:3725
vendor-advisory, third-party-advisory
-
lists.opensuse.org
/opensuse-security-announce/2020-01/msg00040.html
vendor-advisory, mailing-list, third-party-advisory
-
security.gentoo.org
/glsa/202003-26
vendor-advisory, third-party-advisory
-
security.netapp.com
/advisory/ntap-20190404-0004/
third-party-advisory
-
lists.debian.org
/debian-lts-announce/2019/06/msg00022.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2019/06/msg00023.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2019/06/msg00026.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/07/msg00011.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/08/msg00034.html
mailing-list, third-party-advisory
-
openwall.com
/lists/oss-security/2021/02/04/2
mailing-list, third-party-advisory
- cert-portal.siemens.com /productcert/html/ssa-398330.html
Sources
- CVE List CVE-2019-9947
- NVD CVE-2019-9947
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.