CVE-2013-1752
NoneCVSS
—
EPSS
—
Published
Jun 3, 2019
CISA due date
—
Cloudanix analysis
Attackers could overwhelm Python-based systems with memory use by sending very long data over common network connections, causing slowdowns or crashes.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits remote attackers to trigger excessive memory consumption through unrestricted readline calls in Python's httplib, ftplib, imaplib, nntplib, poplib, and smtplib modules when processing long strings.
Why it matters to the business
Services built on affected Python versions can experience resource exhaustion, resulting in degraded performance, service outages, or the need for manual restarts and capacity planning adjustments.
How an attack unfolds
An attacker establishes a network connection to a target using one of the affected Python standard library modules and transmits an excessively long string, forcing the readline operation to allocate large amounts of memory until the process is disrupted.
How to fix it
Upgrade to the module-specific fixed Python versions: httplib in 2.7.4/2.6.9/3.3.3, ftplib in 2.7.6/2.6.9/3.3.3, imaplib in 2.6.9/3.3.3, nntplib in 2.7.6/2.6.9/3.3.3, poplib in 2.6.9/3.3.3, and smtplib in 2.6.9.
How to confirm the fix worked
Confirm deployment of the listed patched Python releases, then perform functional tests sending long strings to each protocol handler to verify memory usage remains bounded.
Typical attack path
- Locate services exposing Python network protocol handlers
- Initiate a connection to the target module endpoint
- Transmit a crafted long string payload
- Induce repeated memory allocations leading to denial of service
How to detect it
Review application and system logs for Python processes showing sudden memory spikes during protocol handling; inspect network traffic for unusually long strings directed at HTTP, FTP, IMAP, NNTP, POP, or SMTP endpoints.
What your security team should do
- Apply the module-specific Python upgrades immediately
- Inventory all systems using the listed stdlib modules for exposure
- Implement input length validation at application entry points
- Monitor memory metrics on Python-based network services
The record
Rejected reason: Various versions of Python do not properly restrict readline calls, which allows remote attackers to cause a denial of service (memory consumption) via a long string, related to (1) httplib - fixed in 2.7.4, 2.6.9, and 3.3.3; (2) ftplib - fixed in 2.7.6, 2.6.9, 3.3.3; (3) imaplib - not yet fixed in 2.7.x, fixed in 2.6.9, 3.3.3; (4) nntplib - fixed in 2.7.6, 2.6.9, 3.3.3; (5) poplib - not yet fixed in 2.7.x, fixed in 2.6.9, 3.3.3; and (6) smtplib - not yet fixed in 2.7.x, fixed in 2.6.9, not yet fixed in 3.3.x. NOTE: this was REJECTed because it is incompatible with CNT1 "Independently Fixable" in the CVE Counting Decisions
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Mageia:3 | python | 0 | 2.7.6-1.mga3 |
| Mageia:3 | python | 0 | 2.7.6-1.1.mga3 |
| Mageia:3 | python3 | 0 | 3.3.0-4.6.mga3 |
| Mageia:4 | python | 0 | 2.7.6-1.mga4 |
| Mageia:4 | python | 0 | 2.7.6-1.1.mga4 |
| Mageia:4 | python3 | 0 | 3.3.2-13.1.mga4 |
| Red Hat:enterprise_linux:6::client | python | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::client | python-debuginfo | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::client | python-devel | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::client | python-libs | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::client | python-test | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::client | python-tools | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::client | tkinter | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | python | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | python-debuginfo | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | python-devel | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | python-libs | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | python-test | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | python-tools | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::computenode | tkinter | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | python | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | python-debuginfo | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | python-devel | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | python-libs | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | python-test | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | python-tools | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::server | tkinter | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | python | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | python-debuginfo | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | python-devel | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | python-libs | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | python-test | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | python-tools | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:6::workstation | tkinter | 0 | 0:2.6.6-64.el6 |
| Red Hat:enterprise_linux:7::client | python | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | python-debug | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | python-debuginfo | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | python-devel | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | python-libs | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | python-test | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | python-tools | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::client | tkinter | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python-debug | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python-debuginfo | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python-devel | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python-libs | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python-test | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | python-tools | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::computenode | tkinter | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python-debug | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python-debuginfo | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python-devel | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python-libs | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python-test | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | python-tools | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::server | tkinter | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python-debug | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python-debuginfo | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python-devel | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python-libs | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python-test | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | python-tools | 0 | 0:2.7.5-34.el7 |
| Red Hat:enterprise_linux:7::workstation | tkinter | 0 | 0:2.7.5-34.el7 |
| Red Hat:rhel_software_collections:2::el6 | python27 | 0 | 0:1.1-17.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-debug | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-debuginfo | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-devel | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-libs | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-pip | 0 | 0:1.5.6-5.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-setuptools | 0 | 0:0.9.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-simplejson | 0 | 0:3.2.0-2.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-simplejson-debuginfo | 0 | 0:3.2.0-2.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-test | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-tools | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-python-wheel | 0 | 0:0.24.0-2.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-runtime | 0 | 0:1.1-17.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-scldevel | 0 | 0:1.1-17.el6 |
| Red Hat:rhel_software_collections:2::el6 | python27-tkinter | 0 | 0:2.7.8-3.el6 |
| Red Hat:rhel_software_collections:2::el7 | python27 | 0 | 0:1.1-20.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-debug | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-debuginfo | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-devel | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-libs | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-pip | 0 | 0:1.5.6-5.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-setuptools | 0 | 0:0.9.8-5.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-simplejson | 0 | 0:3.2.0-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-simplejson-debuginfo | 0 | 0:3.2.0-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-test | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-tools | 0 | 0:2.7.8-3.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-python-wheel | 0 | 0:0.24.0-2.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-runtime | 0 | 0:1.1-20.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-scldevel | 0 | 0:1.1-20.el7 |
| Red Hat:rhel_software_collections:2::el7 | python27-tkinter | 0 | 0:2.7.8-3.el7 |
| SUSE:Linux Enterprise Desktop 12 | python | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Desktop 12 | python-base | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | python | 0 | 2.7.17-7.32.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 | python-base | 0 | 2.7.17-7.32.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | python3 | 0 | 3.6.10-3.42.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 | python3-base | 0 | 3.6.10-3.42.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | python | 0 | 2.7.17-7.32.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | python-base | 0 | 2.7.17-7.32.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | python3 | 0 | 3.6.10-3.42.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | python3-base | 0 | 3.6.10-3.42.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 | python | 0 | 2.7.17-7.32.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP1 | python | 0 | 2.7.17-7.32.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 | python3-base | 0 | 3.6.10-3.42.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP1 | python3-base | 0 | 3.6.10-3.42.2 |
| SUSE:Linux Enterprise Module for Python 2 15 SP1 | python | 0 | 2.7.17-7.32.2 |
| SUSE:Linux Enterprise Module for Python 2 15 SP1 | python-base | 0 | 2.7.17-7.32.1 |
| SUSE:Linux Enterprise Server 12 | python | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Server 12 | python-base | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Server 12 | python-doc | 0 | 2.7.9-14.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | python | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | python-base | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | python-doc | 0 | 2.7.9-14.3 |
| SUSE:Linux Enterprise Software Development Kit 12 | python-base | 0 | 2.7.9-14.1 |
| SUSE:Linux Enterprise Workstation Extension 12 | python-base | 0 | 2.7.9-14.1 |
| Ubuntu:14.04:LTS | python2.7 | 0 | 2.7.6-8ubuntu0.2 |
| Ubuntu:14.04:LTS | python3.4 | 0 | 3.4.0-2ubuntu1.1 |
| openSUSE:Leap 15.1 | python3 | 0 | 3.6.10-lp151.6.7.1 |
| openSUSE:Leap 15.1 | python3-base | 0 | 3.6.10-lp151.6.7.1 |
| openSUSE:Tumbleweed | python | 0 | 2.7.18-8.1 |
| openSUSE:Tumbleweed | python-base | 0 | 2.7.12-1.4 |
| openSUSE:Tumbleweed | python310 | 0 | 3.10.0rc1-4.2 |
| openSUSE:Tumbleweed | python311 | 0 | 3.11.0b1-1.1 |
| openSUSE:Tumbleweed | python312 | 0 | 3.12.0a7-1.1 |
| openSUSE:Tumbleweed | python313 | 0 | 3.13.0~b3-1.1 |
| openSUSE:Tumbleweed | python314 | 0 | 3.14.0~a1-1.1 |
| openSUSE:Tumbleweed | python315 | 0 | 3.15.0~a1-1.1 |
| openSUSE:Tumbleweed | python36 | 0 | 3.6.15-1.1 |
| openSUSE:Tumbleweed | python38 | 0 | 3.8.12-1.2 |
| openSUSE:Tumbleweed | python39 | 0 | 3.9.7-2.1 |
Related vulnerabilities
- CVE-2014-1912 Buffer overflow in the socket.recvfrom_into function in Modules/socketmodule.c in Python… Also affects python
- CVE-2016-0772 The smtplib library in CPython (aka Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x… Also affects python
- CVE-2016-5636 Integer overflow in the get_data function in zipimport.c in CPython (aka Python) before… Also affects python
- CVE-2016-2183 The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other… Also affects python
- CVE-2017-1000158 CPython (aka Python) up to 2.7.13 is vulnerable to an integer overflow in the… Also affects python
- CVE-2008-1721 Integer signedness error in the zlib extension module in Python 2.5.2 and earlier allows… Also affects python
- CVE-2007-2052 Off-by-one error in the PyLocale_strxfrm function in Modules/_localemodule.c for Python… Also affects python
- CVE-2026-6019 http.cookies.Morsel.js_output() returns an inline snippet and only escapes " for… Also affects python310