EDITAR: dos respuestas a continuación.
Respuesta original
Puede insertar otra ID en el enlace que hace un seguimiento de la ID de la sesión original.
¿El requisito de que el enlace del correo electrónico, cuando se hace clic en él, se inicie en el mismo navegador o puede estar en un navegador diferente? ¿Y si está en una máquina diferente? Por ejemplo, ¿qué sucede si restablezco la contraseña de mi teléfono y luego me muevo a mi computadora o tableta, hago clic en el enlace del correo electrónico y configuro una nueva contraseña? Podría hacer esto si quiero usar el almacén de contraseñas en mi computadora aunque empecé en mi teléfono. Desde la perspectiva de la facilidad de uso, parece que el enlace de la contraseña en el correo electrónico y no el ID de sesión del navegador original es importante.
Además, si un atacante hizo clic en el enlace "Olvidó la contraseña" y trató de obtener la entrada y obliga a que el ID de sesión sea el mismo, entonces el usuario real que recibe el enlace para restablecer la contraseña podría experimenta un DOS dependiendo de cómo funciona tu sistema. Ciertamente, el usuario legítimo no puede restablecer su propia contraseña con el enlace proporcionado porque la ID de la sesión que originó la solicitud "Olvidé mi contraseña" reside en el navegador de los atacantes.
Como desarrollador de aplicaciones, debería poder realizar una de las siguientes acciones:
- Reconocer una segunda sesión iniciada desde el enlace de restablecimiento de contraseña como legítima y dejarla pasar.
- Procese el enlace de restablecimiento y vuelva a establecerlo con el primer ID de sesión.
Sin embargo, realmente creo que el # 2 está mal aconsejado dado que un atacante podría estar haciendo clic en el enlace Olvidé mi contraseña. Creo que lo mejor es usar la segunda sesión.
Por cierto, los sistemas más paranoicos que he visto obligan a volver a iniciar sesión una vez que se ha restablecido la contraseña. Es decir, hace clic en "Olvidé mi contraseña", recibe el correo electrónico, hace clic en el enlace, restablece la contraseña, luego aparece una nueva página de inicio de sesión que requiere que ingrese su nombre de usuario y una nueva contraseña (en lugar de iniciar sesión silenciosamente como consecuencia del restablecimiento de la contraseña).
Segunda respuesta: aclaración en los comentarios de la pregunta
Parece que está preocupado por el artículo de OWASP al que se hace referencia. En este caso, el artículo recomienda realizar una sesión continua para restablecer la contraseña y usar un canal alternativo o fuera de banda (OOB) para aumentar la probabilidad de que esté hablando con el usuario legítimo. En este caso, el usuario inicia el proceso de restablecimiento de la contraseña, responde correctamente a las preguntas de seguridad, está bloqueado de la cuenta , se envía un código OOB PIN por SMS o correo electrónico (nota, no un enlace de restablecimiento), el usuario ingresa el código PIN correcto, luego se puede ingresar una nueva contraseña.
Esto no era lo que contenía la pregunta original. En este caso, un enlace para restablecer la contraseña es no para ser enviado y solo un código PIN para ser visto con un lector de correo electrónico e ingresado en el mismo flujo de sesión de restablecimiento de contraseña. Saltar a una nueva ID de sesión (incluso si es posible) debería verse como un ataque o error del sistema y rechazarse.