Lenguaje de programación Python se apresura a actualizar para abordar la vulnerabilidad del código remoto

Python Software Foundation (PSF) ha lanzado Python 3.9.2 y 3.8.8 para abordar dos fallas de seguridad notables, incluida una que se puede explotar de forma remota, pero que en términos prácticos solo se puede usar para desconectar una máquina.

PSF está instando a su legión de usuarios de Python a actualizar los sistemas a Python 3.8.8 o 3.9.2 , en particular para abordar la vulnerabilidad de ejecución remota de código (RCE) que se rastrea como CVE-2021-3177. 

El proyecto aceleró el lanzamiento después de recibir una presión inesperada de algunos usuarios que estaban preocupados por la falla de seguridad. 

«Desde el anuncio de los candidatos de lanzamiento para 3.9.2 en 3.8.8, recibimos una serie de consultas de usuarios finales que nos instaban a acelerar los lanzamientos finales debido al contenido de seguridad, especialmente  CVE-2021-3177 «, dijo el equipo de lanzamiento de Python.

«Esto nos tomó algo por sorpresa, ya que pensamos que el contenido de seguridad es seleccionado por los distribuidores intermedios de la fuente de cualquier manera, y las versiones de RC proporcionan instaladores para todos los demás interesados ​​en actualizar mientras tanto», dijo PSF.

«Resulta que las versiones candidatas son en su mayoría invisibles para la comunidad y, en muchos casos, no se pueden utilizar debido a los procesos de actualización que tienen los usuarios».

Python 3.xa 3.9.1 tiene un desbordamiento de búfer en PyCArg_repr en ctypes / callproc.c, que puede llevar a la ejecución remota de código. 

Afecta a las aplicaciones de Python que «aceptan números de punto flotante como entradas no confiables, como lo demuestra un argumento 1e300 para c_double.from_param».

El error se produce porque «sprintf» se utiliza de forma insegura. El impacto es amplio porque Python está preinstalado con múltiples distribuciones de Linux y Windows 10.  

Varias distribuciones de Linux, como Debian , han estado respaldando los parches de seguridad para garantizar que las versiones integradas de Python estén protegidas. 

La vulnerabilidad es un defecto de memoria común. Según RedHat , un desbordamiento de búfer basado en la pila en el módulo ctypes de Python validó incorrectamente la entrada que se le pasó, «lo que permitiría a un atacante desbordar un búfer en la pila y bloquear la aplicación».

El otro defecto se rastrea como  CVE-2021-23336  y se refiere a una vulnerabilidad de envenenamiento de la caché web al «establecer el separador de argumentos de consulta en & y permitir que el usuario elija un separador personalizado».