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.
Impacto
Puntuación base 4.0
8.70
Gravedad 4.0
ALTA
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Referencias a soluciones, herramientas e información
- https://github.com/python/cpython/commit/71e8429ac8e2adc10084ab5ec29a62f4b6671a82
- https://github.com/python/cpython/commit/9aa0deb2eef2655a1029ba228527b152353135b5
- https://github.com/python/cpython/commit/e991ac8f2037d78140e417cc9a9486223eb3e786
- https://github.com/python/cpython/issues/127655
- https://github.com/python/cpython/pull/127656
- https://mail.python.org/archives/list/security-announce@python.org/thread/H4O3UBAOAQQXGT4RE3E4XQYR5XLROORB/
- http://www.openwall.com/lists/oss-security/2024/12/06/1
- https://security.netapp.com/advisory/ntap-20250404-0010/