Resource Exhaustion Affecting python3.12-libs package, versions <0:3.12.1-4.el9_4.5


Severity

Recommended
0.0
high
0
10

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

EPSS
0.04% (13th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Resource Exhaustion vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-RHEL9-PYTHON312LIBS-8697724
  • published8 Feb 2025
  • disclosed6 Dec 2024

Introduced: 6 Dec 2024

CVE-2024-12254  (opens in a new tab)
CWE-400  (opens in a new tab)
CWE-770  (opens in a new tab)

How to fix?

Upgrade RHEL:9 python3.12-libs to version 0:3.12.1-4.el9_4.5 or higher.
This issue was patched in RHSA-2024:11035.

NVD Description

Note: Versions mentioned in the description apply only to the upstream python3.12-libs package and not the python3.12-libs package as distributed by RHEL. See How to fix? for RHEL:9 relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1