La Python Software Foundation ha revelado información sobre una vulnerabilidad crítica en la API de gestión de lanzamientos, que podría ser utilizada para atacar la infraestructura del proyecto Python. La vulnerabilidad permitía eludir el sistema de autenticación y conectarse a la API de gestión de lanzamientos con derechos de administrador mediante el envío de una solicitud con cualquier clave e indicando uno de los administradores en el campo del nombre de usuario.
Los derechos obtenidos en caso de explotación exitosa de la vulnerabilidad otorgaban al atacante la posibilidad de modificar los enlaces de los lanzamientos de Python y los metadatos para verificar la corrección de los archivos subidos, alojados en la página python.org/downloads. Sin embargo, la vulnerabilidad no permitía modificar el contenido de los archivos existentes con los lanzamientos.
La auditoría de la base de datos y los registros no reveló signos de explotación de la vulnerabilidad. También se supone que la sustitución de los enlaces a los lanzamientos no pudo pasar desapercibida, ya que muchos proveedores durante la carga utilizan adicionalmente un sistema de verificación criptográfica de código Sigstore y comprobación utilizando claves PGP.
La vulnerabilidad estuvo presente en el código desde 2014 y fue causada por la mezcla en un solo código de los controladores para accesos como invitados y la autenticación por claves para la API. En caso de fallo de la autenticación por clave para acceder a la API, el código realizaba un retroceso para utilizar el acceso de invitado.
La vulnerabilidad fue identificada el 23 de febrero y corregida al día siguiente, tras lo cual se realizaron varias verificaciones de integridad de la infraestructura: el 25 de febrero se analizaron los registros y las copias de seguridad de la base de datos, todos los recursos disponibles para descarga fueron verificados utilizando firmas digitales del registro de Sigstore y claves PGP, y se llevó a cabo una auditoría de la base de código de los servicios utilizados. El 23 de abril, la base de código fue revisada adicionalmente con herramientas de IA, y el 1 de junio, se contrató a la empresa Trail of Bits para una auditoría externa de la infraestructura python.org y los procesos de generación de lanzamientos de Python.
Fuente: opennet.ru
