Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Python Software Foundation | CPython | < 3.12.9, 3.13.0 – < 3.13.2, 3.14.0a1 – < 3.14.0a3 | 3.12.9 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 13 | python3.13 | 3.13.1-2 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | python3.12 | 3.12.3-1ubuntu0.4 | USN-7219-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 10 | python3 +8 | 3.12.9-1.el10 | RHBA-2025:6294 |
| RHEL 9 | python3.12 +6 | 3.12.5-2.el9_5.2 | RHSA-2024:10978 |
| RHEL 8 | python3.12 +7 | 3.12.8-1.el8_10 | RHSA-2024:10980 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9.4 EUS | python3.12 +6 | 3.12.1-4.el9_4.5 | RHSA-2024:11035 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 9 | python3.12 +6 | 3.12.5-2.el9_5.2 | ALSA-2024:10978 |
| AlmaLinux 8 | python3.12 +7 | 3.12.8-1.el8_10 | ALSA-2024:10980 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 8 | python3.12 | 3.12.8-1.el8_10 | RLSA-2024:10980 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 3 | python312 +1 | 3.12.8-150600.3.12.1 | SUSE-SU-2025:0521-1, SUSE-SU-2024:4291-1 |
| SLES 3 | python313 +1 | 3.13.5-150700.4.11.1 | SUSE-SU-2025:02074-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python-aiohttp | 3.11.16-1.1 | openSUSE-SU-2025:14998-1 |
| openSUSE Tumbleweed | python312 | 3.12.8-1.1 | openSUSE-SU-2024:14581-1 |
| openSUSE Tumbleweed | python313 | 3.13.1-1.1 | openSUSE-SU-2025:14691-1 |
| openSUSE Leap 15.6 | python312 +2 | 3.12.8-150600.3.12.1 | SUSE-SU-2025:0521-1, SUSE-SU-2024:4291-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | python3 | 3.12.8-r1 | — |
| Alpine v3.23 | python3 | 3.12.8-r1 | — |
| Alpine v3.22 | python3 | 3.12.8-r1 | — |
| Alpine v3.21 | python3 | 3.12.8-r1 | — |
| Alpine v3.20 | python3 | 3.12.8-r1 | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | python3.12 +6 | 3.12.8-1.amzn2023.0.1 | ALAS2023-2025-808 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | python3 | 3.12.3-5 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | python3.12 +6 | 3.12.5-2.el9_5.2 | ELSA-2024-10978 |
| Oracle Linux 8 | python3.12 +7 | 3.12.8-1.el8_10 | ELSA-2024-10980 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | python-3.12 | 3.12.8-r1 | — |
| Wolfi rolling | python-3.13 | 3.13.1-r1 | — |
Advisories 18
- ALSA-2024:10978 Important: python3.12 security update AlmaLinux Security Advisories · Oct 29, 2026
- ALSA-2024:10980 Important: python3.12 security update AlmaLinux Security Advisories · Oct 29, 2026
- RHBA-2025:6294 Red Hat Bug Fix Advisory: python3.12 bug fix and enhancement update Red Hat Security Advisories (RHSA) · Aug 19, 2026
- RHSA-2024:11035 Red Hat Security Advisory: python3.12 security update Red Hat Security Advisories (RHSA) · Aug 19, 2026
- RHSA-2024:10980 Red Hat Security Advisory: python3.12 security update Red Hat Security Advisories (RHSA) · Aug 19, 2026
- RHSA-2024:10978 Red Hat Security Advisory: python3.12 security update Red Hat Security Advisories (RHSA) · Aug 19, 2026
- USN-7219-1 python3.12 vulnerability Ubuntu Security Notices (USN) · Apr 22, 2026
- RLSA-2024:10980 Important: python3.12 security update Rocky Linux Security Advisories · Feb 5, 2026
- openSUSE-SU-2025:14691-1 python313-3.13.1-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2025:14998-1 python311-aiohttp-3.11.16-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:4291-1 Security update for python312 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:14581-1 python312-3.12.8-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:02074-1 Security update for python313 SUSE / openSUSE Security Updates · Feb 4, 2026
- WID-SEC-2024-3630 Python: Schwachstelle ermöglicht Denial of Service BSI CERT-Bund (WID) · Jun 23, 2025
- SUSE-SU-2025:0521-1 Security update for python312 SUSE / openSUSE Security Updates · May 2, 2025
- ALAS2023-2025-808 Important: python3.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Jan 24, 2025
- ELSA-2024-10978 Important: python3.12 security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Dec 12, 2024
- ELSA-2024-10980 Important: python3.12 security update (Oracle Linux 8) Oracle Linux Security Advisories (ELSA) · Dec 12, 2024
References
- https://github.com/python/cpython/issues/127655 issue-tracking
- https://github.com/python/cpython/pull/127656 patch
- https://mail.python.org/archives/list/security-announce@python.org/thread/H4O3UBAOAQQXGT4RE3E4XQYR5XLROORB/ vendor-advisory
- https://github.com/python/cpython/commit/71e8429ac8e2adc10084ab5ec29a62f4b6671a82 patch
- https://github.com/python/cpython/commit/9aa0deb2eef2655a1029ba228527b152353135b5 patch
- https://github.com/python/cpython/commit/e991ac8f2037d78140e417cc9a9486223eb3e786 patch