Una vulnerabilidad de GitLab permite la toma remota de cuentas sin interacción del usuario debido a una falla en el restablecimiento de contraseña. Se advierte a los usuarios de GitLab Community Edition (CE) y Enterprise Edition (EE) que apliquen el parche inmediatamente debido al error CVSS con puntuación 10.
La vulnerabilidad crítica de apropiación de cuentas de GitLab se introdujo en la versión 16.1.0 el 1 de mayo cuando la plataforma DevOps agregó la opción de restablecer una contraseña a través de una dirección de correo electrónico secundaria, según un comunicado de seguridad de GitLab publicado el 11 de enero.
El error, rastreado como CVE-2023-7028, se solucionó en las versiones 16.5.6, 16.6.4 y 16.7.2 lanzadas el jueves, y también fue compatible con las versiones 16.1.6, 16.2.9, 16.3.7 y 16.4 de GitLab. 5.
GitLab también recomienda habilitar la autenticación de dos factores (2FA) en todas las cuentas. Los usuarios con 2FA activado no son vulnerables a la apropiación de cuentas a través de la explotación CVE-2023-7028, pero aún son vulnerables a que una parte no autorizada restablezca su contraseña.
La compañía dijo que no ha detectado ninguna explotación del error crítico en GitLab.com o instancias dedicadas de GitLab, pero los usuarios de instancias de GitLab autoadministradas deberán verificar sus propios registros para monitorear el abuso.
“Se informó a todos los clientes afectados que se lanzaría un parche de seguridad antes del 11 de enero para garantizar que sus equipos estuvieran disponibles y preparados para solucionarlo rápidamente”, dijo un portavoz de GitLab.
Los clientes de GitLab con instancias autoadministradas de GitLab CE o GitLab EE pueden verificar sus registros para detectar una posible explotación de las dos maneras siguientes, según la compañía:
Verifique gitlab-rails/production_json.log para ver solicitudes HTTP a la ruta /users/password con params.value.email que consta de una matriz JSON con múltiples direcciones de correo electrónico
Consulte gitlabs-rails/audit_json.log para ver si hay entradas con meta.caller.id de PasswordsController#create y target_Details que consta de una matriz JSON con varias direcciones de correo electrónico
La plataforma dijo que ha revisado su lógica de restablecimiento de contraseña para evitar futuras vulnerabilidades, incluso al no admitir el envío de múltiples direcciones de correo electrónico para restablecer enlaces.
GitLab también informó a los usuarios sobre otras cuatro vulnerabilidades en su comunicado de seguridad del jueves, incluida una vulnerabilidad crítica que involucra integraciones de Slack y Mattermost dentro de GitLab CE y EE.
CVE-2023-5356 (puntuación CVSS 9,6) permite que las integraciones de Slack/Mattermost GitLab se utilicen indebidamente para ejecutar comandos de barra como otro usuario.
CVE-2023-4812 (puntuación CVSS 7,6) permitió omitir la aprobación de CODEOWNERS alterando una solicitud de fusión previamente aprobada.
CVE-2023-6955 (puntuación CVSS 6,6) permitió la creación de un espacio de trabajo en un grupo asociado con un agente de un grupo diferente.
CVE-2023-2030 (puntaje CVSS 3.5) permitió modificar los metadatos de las confirmaciones firmadas.
Todos estos problemas se resuelven actualizando a la última versión de GitLab.