Skip to content
Fencer Intel
medium 5.4

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

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 Fencer

Vendor 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-tkinter
    affected: 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-28
    fixed: 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 more
    fixed: 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.el8
    fixed: 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.el7
    fixed: 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_5
    fixed: 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_6
    fixed: 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.el7
    fixed: vendor fix RHSA-2019:2030
show 16 more
  • 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_5
    fixed: 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_6
    fixed: vendor fix RHSA-2020:1462
  • Red Hat Enterprise Linux Server (v. 7) python 2.7.5-86.el7, python-libs 2.7.5-86.el7
    fixed: 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_4
    fixed: 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_5
    fixed: 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_6
    fixed: 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.el7
    fixed: 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_4
    fixed: 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_5
    fixed: 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_6
    fixed: 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_4
    fixed: 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.el7
    fixed: 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 more
    fixed: 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.el7
    fixed: 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 more
    fixed: 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 more
    not 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.5
    affected: 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

Sources

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.