CVE-2017-1000158CWE-190

CVE-2017-1000158

Critical · published November 17, 2017

CVSS v3.1
9.8
EPSS
8%
Percentile
94.7
In the wild
Unconfirmed
What it is

⚠️ An integer overflow in CPython could become a heap-based buffer overflow, possibly leading to arbitrary code execution! 😱 This is like a restaurant's kitchen receiving an order that's way too big for their pots — they just can't handle it, and everything spills over, creating a chaotic mess. If an attacker can exploit this, they could take control and cook whatever they want in your system! If this vulnerability is exploited, an attacker could potentially execute arbitrary code on the affected system, resulting in unauthorized access, data manipulation, or even system crashes. It's a dangerous scenario that could put your project at risk!

Put simply

This is like a restaurant's kitchen receiving an order that's way too big for their pots — they just can't handle it, and everything spills over, creating a chaotic mess. If an attacker can exploit this, they could take control and cook whatever they want in your system! The flaw exists in the PyString_DecodeEscape function in stringobject.c of CPython up to version 2.7.13, where an integer overflow can lead to a heap-based buffer overflow, allowing attackers to inject harmful code.

What to do

If this vulnerability is exploited, an attacker could potentially execute arbitrary code on the affected system, resulting in unauthorized access, data manipulation, or even system crashes. It's a dangerous scenario that could put your project at risk! To mitigate this risk, it's crucial to upgrade CPython to version 2.7.14 or later. Regularly review your dependencies and ensure you're using the latest, safest versions. Implementing security practices like code reviews can help catch similar vulnerabilities down the line. You've got this! Take these steps, and you'll bolster your security in no time! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.07944 · 94.7th percentile
Weakness
CWE-190 · Integer Overflow or Wraparound
Published
2017-11-17T10:29Z
Affected products (6)
ProductVersionsFixed in
python/python< 2.7.152.7.15
python/python≥ 3.4.0, < 3.4.83.4.8
python/python≥ 3.5.0, < 3.5.53.5.5
debian/debian_linuxall versions—
debian/debian_linuxall versions—
debian/debian_linuxall versions—
References (18)
http://www.securitytracker.com/id/1039890 · [email protected]https://bugs.python.org/issue30657 · [email protected]https://lists.debian.org/debian-lts-announce/2017/11/msg00035.html · [email protected]https://lists.debian.org/debian-lts-announce/2017/11/msg00036.html · [email protected]https://lists.debian.org/debian-lts-announce/2018/09/msg00030.html · [email protected]https://lists.debian.org/debian-lts-announce/2018/09/msg00031.html · [email protected]https://security.gentoo.org/glsa/201805-02 · [email protected]https://security.netapp.com/advisory/ntap-20230216-0001/ · [email protected]https://www.debian.org/security/2018/dsa-4307 · [email protected]http://www.securitytracker.com/id/1039890 · af854a3a-2127-422b-91ae-364da2661108https://bugs.python.org/issue30657 · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2017/11/msg00035.html · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2017/11/msg00036.html · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2018/09/msg00030.html · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2018/09/msg00031.html · af854a3a-2127-422b-91ae-364da2661108https://security.gentoo.org/glsa/201805-02 · af854a3a-2127-422b-91ae-364da2661108https://security.netapp.com/advisory/ntap-20230216-0001/ · af854a3a-2127-422b-91ae-364da2661108https://www.debian.org/security/2018/dsa-4307 · af854a3a-2127-422b-91ae-364da2661108
EPSS history
Timeline
  • 17 NOV 00:00Z
    CPython (aka Python) up to 2.7.13 is vulnerable to an integer overflow in the PyString_DecodeEscape function in stringobject.c, resulting in heap-based buffer…
    cvelistv5