Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-103977 — Límite de tasa TOTP con alcance de sesión permite intentos de verificación repetidos | Kitploit
Herramientas/GitHubGitHub/pervinzahidli/cve-2026-103977
Autenticación y AutorizaciónHerramientas DefensivasAnálisis de VulnerabilidadesAutenticaciónPapers e Investigación
GitHubpervinzahidli/cve-2026-103977

CVE-2026-103977

Límite de tasa TOTP con alcance de sesión permite intentos de verificación repetidos

Ver Repositorio
41hace 22 díasAún no revisado

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

Resumen

Las versiones de FileRise anteriores a la 3.23.0 almacenaban los intentos fallidos de verificación TOTP en el estado de sesión de PHP. El contador limitaba los intentos dentro de una sesión, pero no persistía entre sesiones recién creadas.

Un atacante que ya posee la credencial primaria válida de una cuenta objetivo podía reiniciar el flujo de inicio de sesión, recibir una nueva sesión de inicio de sesión pendiente y restaurar el margen de intentos TOTP. Repetir este proceso permitía continuar adivinando el TOTP en línea más allá del límite previsto de cinco intentos.

Detalles

El flujo de verificación TOTP mantenía su contador de fallos en $_SESSION. Tras cinco envíos fallidos, los intentos posteriores en esa sesión devolvían HTTP 429.

Sin embargo, completar con éxito la autenticación primaria en una nueva sesión creaba un nuevo estado de inicio de sesión pendiente con un nuevo contador de fallos TOTP. Por lo tanto, los fallos TOTP de la cuenta anterior no se trasladaban.

El problema también afectaba a otro controlador TOTP de inicio de sesión pendiente que no aplicaba el mismo límite duradero. En consecuencia, la corrección se aplicó de forma centralizada en todas las rutas de verificación TOTP de inicio de sesión pendiente.

Este problema se clasifica como CWE-307: Restricción inadecuada de intentos excesivos de autenticación.

Impacto

La explotación requiere poseer la credencial primaria válida de la cuenta objetivo, como una contraseña obtenida mediante reutilización de credenciales, phishing u otro compromiso.

La vulnerabilidad no divulga credenciales ni omite TOTP de inmediato. Permite continuar adivinando el TOTP de forma automatizada sin un límite duradero a nivel de cuenta. Una conjetura exitosa completa la autenticación con los privilegios de la cuenta afectada, lo que potencialmente incluye privilegios de administrador.

Las cuentas sin TOTP habilitado no se ven afectadas por este problema específico de límite de tasa del segundo factor.

Remediación

FileRise 3.23.0 introduce una limitación persistente centralizada de intentos TOTP:

  • Cada cuenta está limitada a cinco intentos de verificación TOTP por ventana de 15 minutos.
  • El límite de la cuenta persiste entre sesiones de PHP y cambios de dirección del cliente.
  • Un límite superior a nivel de origen restringe los intentos distribuidos entre cuentas.
  • Los intentos se reservan antes de la verificación utilizando estado persistente bloqueado.
  • Todas las rutas de verificación TOTP de inicio de sesión pendiente utilizan el mismo limitador.
  • La verificación TOTP exitosa borra el presupuesto de intentos de la cuenta.
  • La autenticación por contraseña o proveedor de identidad no restablece los fallos TOTP.

Las cuentas existentes, los secretos TOTP, las sesiones, las instalaciones de Docker y la configuración de despliegue no requieren migración.

Los usuarios deben actualizar a FileRise 3.23.0 o posterior.

Respuesta del mantenedor

Gracias por la divulgación responsable y los pasos de reproducción detallados.

Revisamos el flujo de verificación TOTP y confirmamos el problema subyacente. Los envíos fallidos de TOTP estaban limitados únicamente por un contador de sesión de PHP en el endpoint principal de verificación del frontend. Por lo tanto, repetir el paso exitoso de autenticación primaria en una sesión nueva podía restaurar el presupuesto de intentos del segundo factor. Nuestra revisión también identificó otro controlador TOTP de inicio de sesión pendiente que no aplicaba el mismo contador de intentos, por lo que la corrección se ha aplicado de forma centralizada en las rutas de verificación en lugar de solo en el endpoint reportado.

La corrección se ha implementado para FileRise v3.23.0:

  • Los envíos TOTP sintácticamente válidos ahora reservan un intento de un presupuesto persistente a nivel de cuenta antes de la verificación.
  • El presupuesto de la cuenta es independiente de la sesión de PHP y de la dirección del cliente, por lo que reemplazar la sesión o rotar las direcciones de origen no restaura los intentos.
  • Un presupuesto persistente superior a nivel de origen limita los intentos distribuidos entre cuentas.
  • Ambos controladores TOTP de inicio de sesión pendiente utilizan el mismo limitador, cubriendo sesiones de inicio de sesión pendiente establecidas por formulario, Basic Auth y OIDC.
  • El éxito de la contraseña o del proveedor de identidad ya no restablece el presupuesto de fallos del segundo factor.
  • La verificación TOTP exitosa borra el presupuesto de la cuenta y elimina la reserva exitosa del presupuesto de origen, de modo que los usuarios exitosos habituales en redes compartidas no acumulan fallos.
  • El estado de los intentos utiliza identificadores de cuenta/origen con hash, actualizaciones bloqueadas, reemplazo atómico de archivos, caducidad automática y manejo de fallo seguro si el almacén del limitador no está disponible o está corrupto.
  • El uso exitoso de un código de recuperación borra el estado de intentos TOTP de la cuenta.

El límite de la cuenta es de cinco intentos en una ventana de 15 minutos. El límite a nivel de origen es intencionalmente superior, de 50 intentos en la misma ventana, para reducir los falsos positivos en redes compartidas. Las cuentas existentes, los secretos TOTP, las sesiones, las instalaciones de Docker y la configuración de despliegue no requieren migración.


Crédito: Pervin Zahidli (@ech0void ) Ref: https://github.com/error311/FileRise/security/advisories/GHSA-4hfj-6478-5cv7

Descargar herramienta