Descripción
2FAuth es una aplicación web para administrar cuentas de autenticación de dos factores (2FA) y generar sus códigos de seguridad. Antes de la versión 8.0.0, cuando AUTHENTICATION_GUARD=reverse-proxy-guard acepta encabezados de autenticación de un cliente que no pasó por un proxy de confianza, RemoteUserProvider::retrieveById() crea una cuenta para un REMOTE_USER desconocido, promueve a administrador la primera cuenta creada y sincroniza el correo electrónico de la cuenta desde el encabezado de correo configurado. Por lo tanto, un cliente remoto no autenticado puede crear un administrador en una instancia nueva, o suplantar una cuenta conocida y redirigir su correo electrónico, lo que expone secretos 2FA y funciones administrativas. Este problema se corrigió en la versión 8.0.0.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- 2FAuth Afectadas: < 8.0.0
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/Bubka/2FAuth/security/advisories/GHSA-r9xx-45m8-mw24
- Referencia en github.comgithub.com/Bubka/2FAuth/commit/43873cbfba445926c7008b4291eeee67752af9…
- Referencia en github.comgithub.com/Bubka/2FAuth/commit/8a4c395cac97f8b70b4a822639a6ad8a816f92…
- Referencia en github.comgithub.com/Bubka/2FAuth/commit/d9e58ac4a63fbd8a073e423567881c81a87915…
- Referencia en github.comgithub.com/Bubka/2FAuth/releases/tag/v8.0.0
Ver el texto original en inglés (CVE.org)
2FAuth: Reverse Proxy Guard Auto-Creates Users With Admin Promotion From Unauthenticated Header Value
2FAuth is a web app to manage Two-Factor Authentication (2FA) accounts and generate their security codes. Prior to 8.0.0, when AUTHENTICATION_GUARD=reverse-proxy-guard accepts authentication headers from a client that did not pass through a trusted proxy, RemoteUserProvider::retrieveById() creates an account for an unknown REMOTE_USER, promotes the first created account to administrator, and synchronizes the account email from the configured mail header. An unauthenticated remote client can therefore create an administrator on a fresh instance or impersonate and redirect email for a known account, exposing 2FA secrets and administrative functions. This issue is fixed in version 8.0.0.