PyPI Python Package Repository Patch Defecto crítico en la cadena de suministro

Los administradores de Python Package Index (PyPI) publicaron correcciones para tres vulnerabilidades la semana pasada, una de las cuales podría explotarse para permitir la ejecución de código arbitrario y tomar el control total del repositorio oficial de software de terceros.

Las vulnerabilidades de seguridad han sido identificadas e informadas por el investigador de seguridad japonés RyotaK, quien previamente identificó vulnerabilidades críticas en el repositorio Homebrew Cask y la biblioteca CDNJS Cloudflare. Ganó un total de $ 3,000 en el programa de recompensas por errores.

La lista de tres vulnerabilidades es la siguiente:

  • Vulnerabilidad de eliminación heredada de PyPI: una vulnerabilidad explotable en los mecanismos de eliminación heredados de una herramienta de implementación de PyPI que podría permitir que un atacante elimine la documentación de proyectos que no controla.
  • Vulnerabilidad de eliminación de roles de PyPI: un investigador de seguridad descubrió una vulnerabilidad explotable en los mecanismos de eliminación de roles de PyPI que podría permitir a un atacante eliminar roles para proyectos sobre los que no tiene control.
  • Vulnerabilidad de flujo de trabajo de acción de GitHub: una vulnerabilidad explotable en el flujo de trabajo de acción de GitHub para el almacén fuente de PyPI podría permitir que un atacante obtenga permiso de escritura contra pypa/almacén.

La explotación exitosa de las deficiencias podría dar como resultado la eliminación arbitraria de los archivos de documentación del proyecto, lo que está relacionado con la forma en que el extremo de eliminación heredado maneja los nombres de proyecto pasados ​​como entrada y permite que cualquier usuario elimine cualquier función con una ID de función válida. a una verificación faltante que requiere que el proyecto actual coincida con el proyecto al que está asociado el rol.

Un error más grave se refiere a un problema en el flujo de trabajo de acción de GitHub para el repositorio fuente de PyPI llamado «combine-prs.yml», que da como resultado un escenario en el que un adversario podría obtener permiso de escritura para la rama principal del repositorio «pypa/almacén». y ejecutar código malicioso en pypi.org en este proceso.

«Las vulnerabilidades descritas en este artículo han tenido un impacto significativo en el ecosistema de Python», señaló RyotaK. «Como he dicho varias veces, algunas cadenas de suministro tienen una vulnerabilidad crítica. Sin embargo, un número limitado de personas está investigando los ataques a la cadena de suministro y la mayoría de las cadenas de suministro no están debidamente protegidas. Por lo tanto, creo que esto es esencial para los usuarios que dependen de la cadena de suministro para contribuir activamente a mejorar la seguridad de la cadena de suministro «.

Continua leyendo