Recientemente, GitLab, una popular plataforma de gestión de repositorios Git, emitió una advertencia sobre una vulnerabilidad crítica de seguridad que podría permitir la toma de control de cuentas sin interacción por parte del usuario (zero-click).
Entendiendo la Vulnerabilidad de Zero-Click
GitLab ha emitido actualizaciones de seguridad para sus versiones Community y Enterprise, corrigiendo dos vulnerabilidades críticas. Una de ellas permite el secuestro de cuentas sin necesidad de interacción por parte del usuario.
La compañía insta a actualizar todas las versiones afectadas de su plataforma DevSecOps lo antes posible. Es importante destacar que las instalaciones autohospedadas necesitarán una actualización manual. GitLab aclara que si no se especifica un tipo de implementación (ómnibus, código fuente, gráfico de timón, etc.) en el anuncio de un producto, se entiende que todas las variantes están implicadas.
La vulnerabilidad más grave, con una calificación de 10 sobre 10 en severidad, es identificada como CVE-2023-7028. No requiere interacción para su explotación y se relaciona con un fallo en la autenticación. Este problema permite enviar solicitudes de restablecimiento de contraseña a correos electrónicos arbitrarios y no verificados, lo que podría resultar en la toma de control de cuentas. Aunque la autenticación de dos factores (2FA) ofrece una capa adicional de seguridad, el acceso aún es posible con el segundo factor de autenticación.
El secuestro de una cuenta de GitLab puede ser gravemente perjudicial para una organización, dado que la plataforma se usa habitualmente para alojar código fuente privado, claves API y otros datos sensibles.
Otro peligro asociado es el de ataques a la cadena de suministro. Los atacantes podrían comprometer repositorios e insertar código malicioso en entornos de producción, especialmente cuando GitLab se emplea para procesos de Integración y Despliegue Continuos (CI/CD).
Te podrá interesar leer: Vulnerabilidades Cibernéticas: Un Análisis a Profundidad
El fallo fue descubierto y reportado por el investigador de seguridad 'Asterion' a través de la plataforma HackerOne. Este problema de seguridad se introdujo inicialmente el 1 de mayo de 2023 en la versión 16.1.0.
Las versiones afectadas son:
- 16.1 antes de 16.1.5
- 16.2 antes de 16.2.8
- 16.3 antes de 16.3.6
- 16.4 antes de 16.4.4
- 16.5 antes de 16.5.6
- 16.6 antes de 16.6.4
- 16.7 antes de 16.7.2
Las correcciones se han aplicado en las versiones 16.7.2, 16.5.6 y 16.6.4 de GitLab. Además, se han lanzado actualizaciones para las versiones 16.1.6, 16.2.9 y 16.3.7. GitLab ha confirmado que no hay evidencia de explotación activa del CVE-2023-7028. Sin embargo, ha proporcionado indicadores de compromiso para ayudar a los equipos de defensa a identificar posibles abusos:
- a. Revisar en gitlab-rails/production_json.log las solicitudes HTTP al camino /users/password. Buscar parámetros con `params.value.email` que contengan un arreglo JSON con varias direcciones de correo electrónico.
- b. Chequear en gitlab-rails/audit_json.log las entradas con `meta.caller.id` de `PasswordsController#create` y `target_details` que incluyan un arreglo JSON con múltiples direcciones de correo electrónico.
El segundo problema crítico, identificado como CVE-2023-5356, tiene una puntuación de gravedad de 9,6/10. Este fallo podría ser explotado para abusar de las integraciones de Slack/Mattermost, permitiendo a un atacante ejecutar comandos de barra como si fuera otro usuario.
También te podrá interesar leer: Análisis de Vulnerabilidades Internas y Externas
En Mattermost, los comandos de barra se utilizan para integrar aplicaciones externas en el entorno de trabajo, mientras que en Slack sirven como atajos para activar aplicaciones en el cuadro de redacción de mensajes.
Otros fallos corregidos por GitLab en su versión 16.7.2 incluyen:
- CVE-2023-4812: Una vulnerabilidad de alta gravedad en GitLab 15.3 y versiones posteriores que permite evitar la aprobación de CODEOWNERS al efectuar cambios en una solicitud de fusión ya aprobada.
- CVE-2023-6955: Un problema de control de acceso inadecuado en versiones de GitLab anteriores a 16.7.2, que podría permitir a los atacantes crear un espacio de trabajo en un grupo asociado a un agente de otro grupo.
- CVE-2023-2030: Un fallo en la validación de firmas de confirmación que afecta a GitLab CE/EE desde la versión 12.2 en adelante, posibilitando la alteración de metadatos en las confirmaciones firmadas debido a una validación de firma incorrecta.
Podría interesarte leer: ¿Tu software está al día?: Importancia de los Parches
Importancia de la Respuesta Rápida a las Vulnerabilidades
La respuesta rápida de GitLab es un ejemplo de cómo las organizaciones deben manejar las vulnerabilidades de seguridad. La transparencia y la acción inmediata son esenciales para proteger a los usuarios y mantener la confianza. Este incidente resalta la importancia de la seguridad en las herramientas de desarrollo de software. A medida que la tecnología avanza, la seguridad debe ser una prioridad constante. Los usuarios y desarrolladores deben estar siempre alerta y preparados para actuar ante cualquier señal de vulnerabilidad.
Podría interesarte leer: Defender for Cloud: Seguridad de Desarrollo
Conclusión
La reciente vulnerabilidad de GitLab sirve como un recordatorio crítico de los desafíos de seguridad en el mundo digital. La comprensión y mitigación de tales vulnerabilidades es esencial para salvaguardar información y operaciones. Con las prácticas y medidas adecuadas, podemos protegernos mejor contra amenazas futuras.