Packagist soluciona una vulnerabilidad crítica en su sitio web

Packagist soluciona una vulnerabilidad crítica en su sitio web

Packagist es el repositorio de paquetes más grande del ecosistema de PHP y recientemente acaban de solucionado una vulnerabilidad crítica en su sitio web podría haber permitido secuestrar su web.

Vulnerabilidad descubierta por Max Justicz

El investigador de seguridad Max Justicz digo que el campo de entrada "Enviar paquete" para enviar nuevos paquetes de PHP a través de la página de inicio de Packagist permitía a un atacante ejecutar comandos maliciosos usando el siguiente formato:

"$ (Comando_Malicioso)".

El problema era una mala configuración del sitio que hacía que Packagist esperará que los datos que metiera el usuario fueran una URL de un repositorio de código fuente como Git, Perforce, Subversion o Mercurial.

Ejecución de comandos por un fallo en las comprobaciones

Justicz descubrió que Packagist estaba ingresado de forma incorrecta los caracteres ingresados ​​al realizar comprobaciones para ver si la URL lleva a un repositorio Perforce o Subversion y estaba ejecutando los comandos maliciosos.

Esta acción la realizaba una vez para cada uno de estos dos casos tanto para la verificación de Perforce y Subversion

Dependiendo del nivel de habilidad de un atacante, uno podría haber secuestrado fácilmente el servidor subyacente Packagist y realizar más acciones intrusivas.

Packagist es un host de paquetes para Composer

Packagist sirve más de 400 millones de paquetes por mes, se podría decir que es el servicio de alojamiento de paquetes más grande en el ecosistema de PHP, con más de 435 millones de instalaciones de paquetes solo en julio de 2018.

Actualmente el problema está solucionado

El problema ahora está solucionado, según una publicación publicada ayer por Justicz.

Este mismo investigador también encontró fallos en otros gestores de paquetes en el pasado hasta en una CDN usada para npm. Tenemos que agradecer su dedicación por hacer del Internet un lugar un poco más seguro.