Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-12254— Unbounded memory buffering in SelectorSocketTransport.writelines()

Quick assessment

Affected
Python Software Foundation CPython
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Python是Python基金会的一套开源的、面向对象的程序设计语言。该语言具有可扩展、支持模块和包、支持多种平台等特点。 Python 3.12.0及之后版本存在安全漏洞,该漏洞源于asyncio._SelectorSocketTransport.writelines方法不会在写入缓冲区达到high-water mark时暂停写入,也不会通知Protocol排空缓冲区,这可能导致内存耗尽。

CVSS 8.7 · High EPSS 1.87% · P79

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 3

VendorProduct Version RangeStatus
Python Software Foundation CPython < 3.12.9 affected
3.13.0< 3.13.2 affected
3.14.0a1< 3.14.0a3 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-12254

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Unbounded memory buffering in SelectorSocketTransport.writelines()
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
未加控制的资源消耗(资源穷尽)
Source: CVE Program / CVE List V5
Vulnerability Title
Python 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Python是Python基金会的一套开源的、面向对象的程序设计语言。该语言具有可扩展、支持模块和包、支持多种平台等特点。 Python 3.12.0及之后版本存在安全漏洞,该漏洞源于asyncio._SelectorSocketTransport.writelines方法不会在写入缓冲区达到high-water mark时暂停写入,也不会通知Protocol排空缓冲区,这可能导致内存耗尽。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Python Software Foundation CPython 0 ~ 3.12.9 -

II. Public POCs for CVE-2024-12254

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 11030 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2024-12254

请登录查看更多情报信息。

Patches & Fixes for CVE-2024-12254 (4)

Mailing List Discussions for CVE-2024-12254 (1)

Other References for CVE-2024-12254 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2024-12254

No comments yet


Leave a comment