Vulnerabilidades en Python Package Index (PYPI) puede comprometer todo el ecosistema

Especialistas encontraron una vulnerabilidad en el flujo de trabajo de GitHub Actions para el repositorio de origen de Python Package Index (PyPI), la cual corre el riesgo de ser vulnerada para realizar una solicitud de extracción maliciosa y ejecutar código arbitrario en pypi.org. El investigador que se hace llamar RyotaK publicó información sobre tres vulnerabilidades en PyPI, una de las cuales podría potencialmente llevar al compromiso de todo el ecosistema PyPI.

Bien pues, PyPI es el repositorio de software oficial de terceros para el lenguaje de programación Python, y algunos administradores de paquetes lo utilizan como fuente predeterminada para paquetes y dependencias.


Esta falla está relacionada con el flujo de trabajo combine-prs.yml en pypa/warehouse, diseñada para recopilar y fusionar solicitudes de extracción con nombres de sucursales que comienzan con dependdabot. El flujo de trabajo no verifica quién es el autor de una solicitud de extracción, por lo que cualquiera podría crear una solicitud de extracción con un nombre específico. Sin embargo, la ejecución del código no sería posible, dado que el flujo de trabajo combina solicitudes de extracción y el resultado es revisado por un humano, descartando las posibilidades de un ataque exitoso.

RyotaK descubrió que el código responsable de imprimir las listas de sucursales de las solicitudes de extracción contenía una vulnerabilidad que podría explotarse para ejecutar comandos y filtrar el token de acceso de GitHub con permiso de escritura contra el repositorio de pypa/warehouse.

Dado que cualquier código que se envía a la rama principal de pypa/warehouse se implementa automáticamente en pypi.org, un actor de amenazas con permisos de escritura en el repositorio puede ejecutar código arbitrario en pypi.org.

Un ataque exitoso requeriría que los actores de amenazas realicen una bifurcación el repositorio de pypa/warehouse, creando una rama con un nombre que comience con dependdabot, agregando una modificación y creando una solicitud de extracción legítima para capturar el token de acceso de GitHub.

RyotaK agrega que un ataque sería difícil de identificar, ya que los actores de amenazas pueden usar una solicitud de extracción que no sea maliciosa, evadiendo así incluso el análisis humano. El flujo de trabajo vulnerable se agregó al repositorio en octubre de 2020. El equipo de seguridad de PyPI reparó el error la semana pasada, el mismo día en que RyotaK envió su reporte.

EFC Medium

Queremos seguir creando cursos gratuitos en nuestro canal de YouTube. Solo te pedimos tu ayuda para crecer más. Suscríbete por favor. (Cursos, talleres y charlas gratis para ti).

Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Últimos artículos

a

Publicasciones relaciodadas