Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Starting (CVE-2024-12254)

Gravedad CVSS v4.0:
ALTA
Tipo:
CWE-400 Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
06/12/2024
Última modificación:
04/04/2025

Descripción

Starting de Python 3.12.0, el método asyncio._SelectorSocketTransport.writelines() no "pausaba" la escritura ni enviaba señales al protocolo para que vaciara el búfer hacia el cable una vez que el búfer de escritura alcanzaba el "límite superior". Debido a esto, los protocolos no vaciaban periódicamente el búfer de escritura, lo que podría provocar el agotamiento de la memoria. Es probable que esta vulnerabilidad afecte a una pequeña cantidad de usuarios. Debes usar Python 3.12.0 o posterior, en macOS o Linux, usar el módulo asyncio con protocolos y usar el método .writelines(), que tenía un nuevo comportamiento de copia cero al escribir en Python 3.12.0 y posterior. Si no se cumplen todos estos factores, tu uso de Python no se ve afectado.