Every CVE Search/ Get API key

CVE-2024-12254

Unbounded memory buffering in SelectorSocketTransport.writelines()

8.7 HighFix available

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

1.87%Up 1.8 points since Dec 7, 2024
90%50%10%1%

What each source reports

CVE List Score used 8.7

Unbounded memory buffering in SelectorSocketTransport.writelines()

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
CVE-2024-12254
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-400, CWE-770, CWE-770
Updated
2026-11-02
EUVDEUVD-2024-50718 8.7

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
EUVD-2024-50718
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-ph84-rcj2-fxxm 8.7

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not ...

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
GHSA-ph84-rcj2-fxxm
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-400, CWE-770
Updated
2026-11-02
NVD 8.7

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
CVE-2024-12254
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-400, CWE-770
Updated
2026-11-02
OSVALPINE-CVE-2024-12254 8.7

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
ALPINE-CVE-2024-12254
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVBELL-CVE-2024-12254 7.5
Record
BELL-CVE-2024-12254
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 22 moreShow less
OSV 8.7

Unbounded memory buffering in SelectorSocketTransport.writelines()

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
CVE-2024-12254
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-400, CWE-770
Updated
2026-11-04
OSVDEBIAN-CVE-2024-12254 8.7

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion. This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
DEBIAN-CVE-2024-12254
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVRHBA-2025:6294 7.5

Red Hat Bug Fix Advisory: python3.12 bug fix and enhancement update

Record
RHBA-2025:6294
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2024:10978 7.5

Red Hat Security Advisory: python3.12 security update

Record
RHSA-2024:10978
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2024:10980 7.5

Red Hat Security Advisory: python3.12 security update

Record
RHSA-2024:10980
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVRHSA-2024:11035 7.5

Red Hat Security Advisory: python3.12 security update

Record
RHSA-2024:11035
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2024-12254 8.7

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion. This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
UBUNTU-CVE-2024-12254
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVALSA-2024:10978 No score

Important: python3.12 security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • python: Virtual environment (venv) activation scripts don't quote paths (CVE-2024-9287)
  • python: Unbounded memory buffering in SelectorSocketTransport.writelines() (CVE-2024-12254)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
ALSA-2024:10978
Updated
2026-11-02
OSVALSA-2024:10980 No score

Important: python3.12 security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • python: Virtual environment (venv) activation scripts don't quote paths (CVE-2024-9287)
  • python: Unbounded memory buffering in SelectorSocketTransport.writelines() (CVE-2024-12254)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
ALSA-2024:10980
Updated
2026-11-02
OSVAZL-54042 No score

CVE-2024-12254 affecting package python3 for versions less than 3.12.3-5

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
AZL-54042
Updated
2026-11-02
OSVBIT-libpython-2024-12254 No score

Unbounded memory buffering in SelectorSocketTransport.writelines()

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
BIT-libpython-2024-12254
Updated
2026-11-02
OSVBIT-python-2024-12254 No score

Unbounded memory buffering in SelectorSocketTransport.writelines()

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
BIT-python-2024-12254
Updated
2026-11-02
OSVBIT-python-min-2024-12254 No score

Unbounded memory buffering in SelectorSocketTransport.writelines()

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
BIT-python-min-2024-12254
Updated
2026-11-02
OSVopenSUSE-SU-2024:14581-1 No score

python312-3.12.8-1.1 on GA media

These are all security issues fixed in the python312-3.12.8-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14581-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:14691-1 No score

python313-3.13.1-1.1 on GA media

These are all security issues fixed in the python313-3.13.1-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:14691-1
Updated
2026-11-02
OSVopenSUSE-SU-2025:14998-1 No score

python311-aiohttp-3.11.16-1.1 on GA media

These are all security issues fixed in the python311-aiohttp-3.11.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:14998-1
Updated
2026-11-02
OSVPSF-2024-14 No score

Starting in Python 3.12.0, the asyncio._SelectorSocketTransport.writelines() method would not "pause" writing and signal to the Protocol to drain the buffer to the wire once the write buffer reached the "high-water mark". Because of this, Protocols would not periodically drain the write buffer potentially leading to memory exhaustion.

This vulnerability likely impacts a small number of users, you must be using Python 3.12.0 or later, on macOS or Linux, using the asyncio module with protocols, and using .writelines() method which had new zero-copy-on-write behavior in Python 3.12.0 and later. If not all of these factors are true then your usage of Python is unaffected.

Record
PSF-2024-14
Updated
2026-11-02
OSVRLSA-2024:10980 No score

Important: python3.12 security update

Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.

Security Fix(es):

  • python: Virtual environment (venv) activation scripts don't quote paths (CVE-2024-9287)

  • python: Unbounded memory buffering in SelectorSocketTransport.writelines() (CVE-2024-12254)

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

Record
RLSA-2024:10980
Updated
2026-11-02
OSVSUSE-SU-2024:4291-1 No score

Security update for python312

This update for python312 fixes the following issues:

  • CVE-2024-12254: Fixed unbounded memory buffering in SelectorSocketTransport.writelines() (bsc#1234290)

Other fixes:

  • Updated to version 3.12.8
  • Remove -IVendor/ from python-config (bsc#1231795)
Record
SUSE-SU-2024:4291-1
Updated
2026-11-02
OSVSUSE-SU-2025:02074-1 No score

Security update for python313

This update for python313 fixes the following issues:

Update to version 3.13.5.

Security issues fixed:

  • CVE-2025-4517: arbitrary filesystem writes outside the extraction directory during extraction with filter='data' (bsc#1244032)
  • CVE-2025-4516: use-after-free in the unicode-escape decoder when using the error handler (bsc#1243273).
  • CVE-2025-4330: extraction filter bypass for linking outside extraction directory (bsc#1244060)
  • CVE-2025-4138: may allow symlink targets to point outside the destination directory, and the modification of some file metadata. (bsc#1244059)
  • CVE-2025-0938: domain names containing square brackets are not identified as incorrect by urlparse (bsc#1236705).
  • CVE-2024-12718: bypass extraction filter to modify file metadata outside extraction directory (bsc#1244056)
  • CVE-2024-12254: memory exhaustion due to unbounded memory buffering in SelectorSocketTransport.writelines() (bsc#1234290).

Other changes and issues fixed:

Changes from 3.13.5:

  • Tests

    • gh-135120: Add test.support.subTests().
  • Library

    • gh-133967: Do not normalize locale name ‘C.UTF-8’ to ‘en_US.UTF-8’.
    • gh-135326: Restore support of integer-like objects with index() in random.getrandbits().
    • gh-135321: Raise a correct exception for values greater than 0x7fffffff for the BINSTRING opcode in the C implementation of pickle.
    • gh-135276: Backported bugfixes in zipfile.Path from zipp 3.23. Fixed .name, .stem and other basename-based properties on Windows when working with a zipfile on disk.
    • gh-134151: email: Fix TypeError in email.utils.decode_params() when sorting RFC 2231 continuations that contain an unnumbered section.
    • gh-134152: email: Fix parsing of email message ID with invalid domain.
    • gh-127081: Fix libc thread safety issues with os by replacing getlogin with getlogin_r re-entrant version.
    • gh-131884: Fix formatting issues in json.dump() when both indent and skipkeys are used.
  • Core and Builtins

    • gh-135171: Roll back changes to generator and list comprehensions that went into 3.13.4 to fix gh-127682, but which involved semantic and bytecode changes not appropriate for a bugfix release.
  • C API

    • gh-134989: Fix Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE macros in the limited C API 3.11 and older: don’t treat Py_None, Py_True and Py_False as immortal. Patch by Victor Stinner.
    • gh-134989: Implement PyObject_DelAttr() and PyObject_DelAttrString() as macros in the limited C API 3.12 and older. Patch by Victor Stinner.

Changes from 3.13.4:

  • Security

    • gh-135034: Fixes multiple issues that allowed tarfile extraction filters (filter='data' and filter='tar') to be bypassed using crafted symlinks and hard links. Addresses CVE-2024-12718 (bsc#1244056), CVE-2025-4138 (bsc#1244059), CVE-2025-4330 (bsc#1244060), and CVE-2025-4517 (bsc#1244032).
    • gh-133767: Fix use-after-free in the “unicode-escape” decoder with a non-“strict” error handler (CVE-2025-4516, bsc#1243273).
    • gh-128840: Short-circuit the processing of long IPv6 addresses early in ipaddress to prevent excessive memory consumption and a minor denial-of-service.
  • Library

    • gh-134718: ast.dump() now only omits None and [] values if they are default values.
    • gh-128840: Fix parsing long IPv6 addresses with embedded IPv4 address.
    • gh-134696: Built-in HACL* and OpenSSL implementations of hash function constructors now correctly accept the same documented named arguments. For instance, md5() could be previously invoked as md5(data=data) or md5(string=string) depending on the underlying implementation but these calls were not compatible. Patch by Bénédikt Tran.
    • gh-134210: curses.window.getch() now correctly handles …
Record
SUSE-SU-2025:02074-1
Updated
2026-11-02
OSVSUSE-SU-2025:0521-1 No score

Security update for python312

This update for python312 fixes the following issues:

  • CVE-2025-0938: Functions urllib.parse.urlsplit and urlparse accept domain names including square brackets (bsc#1236705).
  • CVE-2024-12254: Unbounded memory buffering in SelectorSocketTransport.writelines() (bsc#1234290).

Other bugfixes:

  • Position of SUSE Python interpreters on Externally managed environments (bsc#1228165).
Record
SUSE-SU-2025:0521-1
Updated
2026-11-02
OSVUSN-7219-1 No score

python3.12 vulnerability

It was discovered that Python incorrectly handled asyncio write buffers. A remote attacker could possibly use this issue to cause Python to consume memory, leading to a denial of service.

Record
USN-7219-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python3
Alpine:v3.20
before 3.12.8-r1
3.12.8-r1
python3
Alpine:v3.21
before 3.12.8-r1
3.12.8-r1
python3
Alpine:v3.22
before 3.12.8-r1
3.12.8-r1
python3
Alpine:v3.23
before 3.12.8-r1
3.12.8-r1
python3
Alpine:v3.24
before 3.12.8-r1
3.12.8-r1
python3.12
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
python3.12-debug
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
python3.12-devel
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
python3.12-idle
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
python3.12-libs
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
Show 85 moreShow less
Affected packages
PackageAffectedFixed
python3.12-test
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
python3.12-tkinter
AlmaLinux:9
From an advisory covering 2 CVEs
before 3.12.5-2.el9_5.2
3.12.5-2.el9_5.2
python3.12
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-debug
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-devel
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-idle
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-libs
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-rpm-macros
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-test
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3.12-tkinter
AlmaLinux:8
From an advisory covering 2 CVEs
before 3.12.8-1.el8_10
3.12.8-1.el8_10
python3
Azure Linux:3
before 3.12.3-5
3.12.3-5
python3
Alpaquita:stream
3.12.3-r0 up to 3.12.8-r1
3.12.8-r1
python3
BellSoft Hardened Containers:stream
3.12.3-r0 up to 3.12.8-r1
3.12.8-r1
libpython
Bitnami
3.12.0 up to 3.12.9, 3.13.0 up to 3.13.2
3.12.93.13.2
python
Bitnami
3.12.0 up to 3.12.9, 3.13.0 up to 3.13.2
3.12.93.13.2
python-min
Bitnami
3.12.0 up to 3.12.9, 3.13.0 up to 3.13.2
3.12.93.13.2
python3.13
Debian:13
before 3.13.1-2
3.13.1-2
python-unversioned-command
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3-devel
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3-tkinter
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3.12-debuginfo
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3.12-debugsource
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3-libs
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3.12
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3-debug
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3-idle
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3-test
Red Hat:enterprise_linux:10.0
From an advisory covering 4 CVEs
before 0:3.12.9-1.el10
0:3.12.9-1.el10
python3.12
Red Hat:enterprise_linux:9::appstream
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-debuginfo
Red Hat:enterprise_linux:9::appstream
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-debugsource
Red Hat:enterprise_linux:9::appstream
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-devel
Red Hat:enterprise_linux:9::appstream
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-libs
Red Hat:enterprise_linux:9::appstream
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-tkinter
Red Hat:enterprise_linux:9::appstream
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-debug
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-debuginfo
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-debugsource
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-idle
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-test
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12-tkinter
Red Hat:enterprise_linux:9::crb
From an advisory covering 2 CVEs
before 0:3.12.5-2.el9_5.2
0:3.12.5-2.el9_5.2
python3.12
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-debuginfo
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-debugsource
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-devel
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-libs
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-rpm-macros
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-tkinter
Red Hat:enterprise_linux:8::appstream
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-debug
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-debuginfo
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-debugsource
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-idle
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-test
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12-tkinter
Red Hat:enterprise_linux:8::crb
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python3.12
Red Hat:rhel_eus:9.4::appstream
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-debuginfo
Red Hat:rhel_eus:9.4::appstream
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-debugsource
Red Hat:rhel_eus:9.4::appstream
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-devel
Red Hat:rhel_eus:9.4::appstream
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-libs
Red Hat:rhel_eus:9.4::appstream
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-tkinter
Red Hat:rhel_eus:9.4::appstream
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-debug
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-debuginfo
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-debugsource
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-idle
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-test
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12-tkinter
Red Hat:rhel_eus:9.4::crb
From an advisory covering 2 CVEs
before 0:3.12.1-4.el9_4.5
0:3.12.1-4.el9_4.5
python3.12
Rocky Linux:8
From an advisory covering 2 CVEs
before 0:3.12.8-1.el8_10
0:3.12.8-1.el8_10
python312
SUSE:Linux Enterprise Module for Python 3 15 SP6
before 3.12.8-150600.3.12.1
3.12.8-150600.3.12.1
python312-core
SUSE:Linux Enterprise Module for Python 3 15 SP6
before 3.12.8-150600.3.12.1
3.12.8-150600.3.12.1
python312
openSUSE:Leap 15.6
before 3.12.8-150600.3.12.1
3.12.8-150600.3.12.1
python312-core
openSUSE:Leap 15.6
before 3.12.8-150600.3.12.1
3.12.8-150600.3.12.1
python312-documentation
openSUSE:Leap 15.6
before 3.12.8-150600.3.12.1
3.12.8-150600.3.12.1
python313
SUSE:Linux Enterprise Module for Python 3 15 SP7
From an advisory covering 9 CVEs
before 3.13.5-150700.4.11.1
3.13.5-150700.4.11.1
python313-core
SUSE:Linux Enterprise Module for Python 3 15 SP7
From an advisory covering 9 CVEs
before 3.13.5-150700.4.11.1
3.13.5-150700.4.11.1
python312
SUSE:Linux Enterprise Module for Python 3 15 SP6
From an advisory covering 2 CVEs
before 3.12.9-150600.3.18.1
3.12.9-150600.3.18.1
python312-core
SUSE:Linux Enterprise Module for Python 3 15 SP6
From an advisory covering 2 CVEs
before 3.12.9-150600.3.18.1
3.12.9-150600.3.18.1
python312
openSUSE:Leap 15.6
From an advisory covering 2 CVEs
before 3.12.9-150600.3.18.1
3.12.9-150600.3.18.1
python312-core
openSUSE:Leap 15.6
From an advisory covering 2 CVEs
before 3.12.9-150600.3.18.1
3.12.9-150600.3.18.1
python312-documentation
openSUSE:Leap 15.6
From an advisory covering 2 CVEs
before 3.12.9-150600.3.18.1
3.12.9-150600.3.18.1
python3.12
Ubuntu:24.04:LTS
before 3.12.3-1ubuntu0.4, plus listed versions
3.12.0-13.12.0-53.12.0-63.12.0-73.12.1-2
Show 8 moreShow less
3.12.2-13.12.2-4build33.12.2-4build43.12.2-5ubuntu33.12.3-13.12.3-1ubuntu0.13.12.3-1ubuntu0.23.12.3-1ubuntu0.3
3.12.3-1ubuntu0.4
python312
openSUSE:Tumbleweed
before 3.12.8-1.1
3.12.8-1.1
python313
openSUSE:Tumbleweed
before 3.13.1-1.1
3.13.1-1.1
python-aiohttp
openSUSE:Tumbleweed
before 3.11.16-1.1
3.11.16-1.1

History

History
RecordedChangedSources
affected
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-12254 is a high vulnerability (CVSS 8.7) in Python Software Foundation Cpython, published December 6, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.87%, the 79th percentile. Fixed in python3 3.12.8-r1.

References

Show 76 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open