Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-93453 — PoC en Python para CVE-2026-93453, una vulnerabilidad de envenenamiento del enlace de restablecimiento de contraseña en SOGo mediante una cabecera Origin controlada por el atacante que permite la interceptación del token de restablecimiento y la toma de control de la cuenta. | Kitploit
Herramientas/GitHubGitHub/faceless0x7/cve-2026-93453
Ataques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónAutenticaciónRed Teaming

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
faceless0x7/cve-2026-93453

CVE-2026-93453

PoC en Python para CVE-2026-93453, una vulnerabilidad de envenenamiento del enlace de restablecimiento de contraseña en SOGo mediante una cabecera Origin controlada por el atacante que permite la interceptación del token de restablecimiento y la toma de control de la cuenta.

Ver Repositorio
11hace 10h 46mAún no revisado

CVE-2026-93453 — Envenenamiento del enlace de restablecimiento de contraseña de SOGo mediante la cabecera Origin

Un exploit para una vulnerabilidad en la que SOGo construye el enlace de restablecimiento de contraseña que envía por correo a los usuarios directamente a partir de la cabecera Origin proporcionada por el cliente. Un atacante anónimo que conoce el login de una víctima envía una solicitud de recuperación con un Origin controlado; el enlace dentro del mensaje "Password reset" enviado por correo apunta entonces al host del atacante, mientras que el JWT incrustado sigue siendo un token de recuperación perfectamente válido. Un clic de la víctima después, el token está en el registro de acceso del atacante, y POST /SOGo/changePassword lo canjea por una nueva contraseña — toma de control total de la cuenta de correo, calendarios y contactos, sin autenticación en ningún paso. La rama de correo además omite la comprobación de SOGoPasswordRecoveryEnabled (ese flag solo se consulta en la rama de SecretQuestion), por lo que el vector de correo funciona incluso cuando el operador cree que la recuperación está desactivada.

Registro: https://www.cve.org/CVERecord?id=CVE-2026-93453

AfectadoSOGo < 5.12.11 (≤ 5.12.10)
Corregido5.12.11 (lista de permitidos SOGoPasswordRecoveryBaseURLs)
Requisitos previosvíctima con modo de recuperación SecondaryEmail; el atacante conoce el userName; la víctima hace clic en el enlace enviado por correo
Impactotoma de control de la cuenta

Causa raíz

root@kitploit:~
// UI/MainUI/SOGoRootPage.m:1374 (tag SOGo-5.12.10) — passwordRecoveryEmailAction
url = [NSString stringWithFormat:@"%@%@?token=%@",
          [[request headers] objectForKey:@"origin"],   // <-- raw client header
          [request uri],
          jwtToken];                                    // <-- valid HS256 JWT, 10 min TTL

La URL de restablecimiento con token es Origin + request URI + JWT, por lo que quien establece la cabecera establece el host al que viaja el secreto de la víctima. Esto es envenenamiento de restablecimiento de contraseña (CWE-640 / CWE-601), no una redirección abierta: el JWT es aceptado por /SOGo/changePassword sin importar qué host lo haya transportado hasta allí.

root@kitploit:~
// 5.12.11 — the fix: origins are validated against a mandatory allowlist
baseUrls = [[SOGoSystemDefaults sharedSystemDefaults] passwordRecoveryBaseURLs];
serverUrl = [[request headers] objectForKey:@"origin"];
if (!(baseUrls && [baseUrls count] > 0))          // unset config -> 403
if (![baseUrls containsObject:serverUrl])          // foreign origin -> 403

En 5.12.11 un Origin ajeno recibe un 403 ("Password recovery email in error"); en ≤ 5.12.10 la misma solicitud devuelve 200 y el correo se envía — esa diferencia es en lo que se basa check.

Uso

root@kitploit:~
# non-destructive probe: canary user + foreign Origin, classify the reply
python3 CVE-2026-93453.py check https://sogo.example

# poison: dispatch the reset mail for the victim with your host in the link
python3 CVE-2026-93453.py poison https://sogo.example --user victim --origin https://attacker.example

Solo biblioteca estándar (Python 3.8+). Admite --proxy, --insecure, --timeout, --no-color y --prefix para puntos de montaje de SOGo no estándar.

El PoC no necesita infraestructura del atacante: poison solo hace que el servidor envíe el enlace por correo, y el host envenenado es el que pongas en --origin. En una instancia vulnerable el enlace enviado por correo se convierte en https://attacker.example/SOGo/passwordRecoveryEmail?token=<valid HS256 JWT> — el token viaja a tu host en el momento en que la víctima hace clic.

check usa un nombre de usuario canario inexistente para que nunca se entregue un correo a un buzón real; 200 = la rama de correo aceptó el Origin ajeno (firma vulnerable), 403 = lista de permitidos de 5.12.11 o SOGoPasswordRecoveryBaseURLs sin establecer (no explotable). Para una autoprueba definitiva, envenena una cuenta que poseas y lee el host del enlace en tu propio buzón.

Referencias

  • Registro CVE: https://www.cve.org/CVERecord?id=CVE-2026-93453
  • Versión corregida: https://github.com/Alinto/sogo/releases/tag/SOGo-5.12.11
  • Commits de corrección:
    • https://github.com/Alinto/sogo/commit/382118a93b6925de2ce7f774abc1865ebea2dbba
    • https://github.com/Alinto/sogo/commit/04a3e9823889acaf6c247b224f5f7a0108f8f829
  • Código fuente vulnerable: https://github.com/Alinto/sogo/blob/SOGo-5.12.10/UI/MainUI/SOGoRootPage.m (passwordRecoveryEmailAction)

Descargo de responsabilidad

Solo para pruebas e investigación autorizadas. Úsalo únicamente contra sistemas que poseas o para los que tengas permiso explícito de probar.

Descargar herramienta