Detectaron una vulnerabilidad en las claves GPG en GitHub
Hace pocos días, GitHub dio a conocer mediante una publicación de blog, los detalles sobre una vulnerabilidad que permite acceder al contenido de variables de entorno expuestas en contenedores utilizados en su infraestructura de producción.
La vulnerabilidad fue descubierta por un participante en el programa Bug Bounty, diseñado para encontrar problemas de seguridad y recompensar a los investigadores por sus hallazgos. Este problema afecta tanto al servicio GitHub como a las configuraciones de GitHub Enterprise Server (GHES) que se ejecutan en los sistemas de los usuarios.
La vulnerabilidad de seguridad, catalogada bajo CVE-2024-0200 con una puntuación de gravedad alta de 7.2 (CVSS), no ha sido explotada en la naturaleza, pues se menciona que tras analizar los registros y auditar la infraestructura, no se encontraron evidencias de explotación de la vulnerabilidad en el pasado, excepto la actividad del investigador que reportó el problema. Sin embargo, como medida preventiva, se procedió a reemplazar todas las claves de cifrado y credenciales que podrían haber sido comprometidas si un atacante explotara la vulnerabilidad.
Se menciona que GitHub Enterprise Server (GHES) se ve afectado, pero explotar la vulnerabilidad requiere que un usuario autenticado con un rol de propietario de la organización inicie sesión en una cuenta en la instancia de GHES, lo que limita el potencial de explotación.
Esta vulnerabilidad también está presente en GitHub Enterprise Server (GHES). Sin embargo, la explotación requiere que un usuario autenticado con una función de propietario de la organización inicie sesión en una cuenta en la instancia de GHES, lo cual es un conjunto importante de circunstancias atenuantes para una posible explotación. Hay un parche disponible hoy, 16 de enero de 2024, para las versiones 3.8.13, 3.9.8, 3.10.5 y 3.11.3 de GHES. Recomendamos que los clientes de GHES apliquen el parche tan pronto como puedan.
La rotación de credenciales en nuestros sistemas de producción provocó una serie de interrupciones en el servicio entre el 27 y el 29 de diciembre. Reconocemos el impacto que tuvieron en nuestros clientes que dependen de GitHub y hemos mejorado nuestros procedimientos de rotación de credenciales para reducir el riesgo de tiempo de inactividad no planificado en el futuro.
Cabe mencionar que se solucionó la vulnerabilidad en GitHub y se ha lanzado una actualización del producto para GHES 3.8.13, 3.9.8, 3.10.5 y 3.11.3, GitHub caracterizó la vulnerabilidad en GHES como un caso de «Unsafe use of Reflection», lo que plantea riesgos de inyección de reflexión y ejecución remota de código (ya que este tipo de vulnerabilidades conducen a ejecución de código o métodos controlados por el usuario en el lado del servidor).
La sustitución de estas claves internas resultó en una interrupción de algunos servicios del 27 al 29 de diciembre. Los administradores de GitHub han intentado aprender de los errores cometidos durante la actualización de las claves que afectan a los clientes.
Entre las acciones tomadas, se actualizó la clave de firma de confirmación privada de GitHub GPG que se utiliza para firmar las confirmaciones que crea en GitHub. Estos incluyen confirmaciones creadas en el editor web, a través de un espacio de código, mediante la línea de comando en un espacio de código o mediante operaciones de solicitud de extracción o mediante Codespace. La antigua clave dejó de ser válida el 16 de enero y desde entonces se utiliza una nueva clave. A partir del 23 de enero, todas las confirmaciones nuevas firmadas con la clave anterior no se marcarán como verificadas en GitHub. El 16 de enero también se actualizaron las claves públicas utilizadas para cifrar los datos del usuario enviados a través de la API a GitHub Actions, GitHub Codespaces y Dependabot.
Además de ello, se recomienda a los usuarios que utilicen estas claves públicas propiedad de GitHub para verificar las confirmaciones localmente y cifrar datos en tránsito que se aseguren de haber actualizado sus claves GPG de GitHub para que sus sistemas continúen funcionando después de que se cambien las claves.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.