Los detalles sobre una vulnerabilidad que afecta las acciones de GitHub se hicieron públicos esta semana por Google, luego de un plazo de divulgación de 104 días.

El error fue identificado por el investigador de seguridad Felix Wilhelm de Google Project Zero, quien lo informó a GitHub el 21 de julio. Según la política de Google, la información sobre el error debía publicarse después de 90 días, pero GitHub solicitó un período de gracia de 14 días. .

Rastreada como CVE-2020-15228 , la vulnerabilidad está relacionada con el uso de los comandos de flujo de trabajo set-env y add-path , que están configurados para estar deshabilitados. GitHub ha asignado al problema una calificación de gravedad moderada , pero Google Project Zero dice que es de gravedad alta .

El comando set-env compatible con el ejecutor de acciones de Github permite al usuario definir variables de entorno arbitrarias, y el investigador de seguridad descubrió que la función es muy susceptible a los ataques de inyección.

“A medida que el proceso de ejecución analiza cada línea impresa en STDOUT en busca de comandos de flujo de trabajo, cada acción de Github que imprime contenido que no es de confianza como parte de su ejecución es vulnerable. En la mayoría de los casos, la capacidad de establecer variables de entorno arbitrarias da como resultado la ejecución remota de código tan pronto como se ejecuta otro flujo de trabajo ”, señala Wilhelm.

El problema, confirma GitHub, es que las rutas y las variables de entorno se pueden inyectar en los flujos de trabajo que registran datos que no son de confianza en stdout , todo sin la intención del autor del flujo de trabajo.

En una publicación del 1 de octubre , la plataforma propiedad de Microsoft reveló que el módulo @ actions / core npm debería actualizarse a la versión 1.2.6, que actualiza las funciones addPath y exportVariable .

GitHub introdujo

un nuevo conjunto de archivos
destinados a la gestión del entorno y las actualizaciones de rutas en los flujos de trabajo, para garantizar que los usuarios puedan seguir configurando dinámicamente las variables del entorno.

“El corredor lanzará una actualización que deshabilita los comandos de flujo de trabajo set-env y add-path en un futuro cercano. Por ahora, los usuarios deben actualizar a @ actions / core v1.2.6 o posterior, y reemplazar cualquier instancia de los comandos set-env o add-path en sus flujos de trabajo con la nueva sintaxis de archivos de entorno ”, explica GitHub .

Runner versión 2.273.5 ya advierte sobre el uso de los comandos add-path o set-env , y el plan es deshabilitarlos por completo, dijo GitHub. Se recomienda a los usuarios que realicen la actualización lo antes posible, ya que no se han identificado soluciones alternativas.