Add comprehensive security controls to reset-password endpoint, including CAPTCHA, secure token with TTL, account lockout, dummy cookie, security question, post-reset session termination, and user notification. #1594
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
The Vulnerability Description:
The
/rest/user/reset-passwordendpoint previously lacked essential security protections, making it susceptible to automated abuse, user enumeration, insecure reset tokens, brute-force attacks on security questions, and failing to terminate active sessions or notify users after a password reset.This Fix:
The patch fortifies the reset-password process by adding CAPTCHA verification, generating secure tokens with time-to-live (TTL), including a dummy cookie to mitigate user enumeration, enforcing security-question checks with account lockout on repeated failures, and ensuring session termination with user notifications after a successful reset.
The Cause of the Issue:
The vulnerability stemmed from insufficient implementation of industry-standard security controls in the reset-password flow, leaving multiple attack surfaces exposed during the password recovery process.
The Patch Implementation:
The update introduces several middleware layers: CAPTCHA enforcement, secure token creation with TTL and storage, dummy cookie placement on reset attempts, robust security question validation with lockout after repeated failures, and a post-reset module to terminate existing sessions and notify users, significantly improving endpoint security.
Vulnerability Details
Code Snippets
How to Modify the Patch
You can modify this patch by using one of the two methods outlined below. We recommend using the
@zeropath-ai-devbot for updating the code. If you encounter any bugs or issues with the patch, please report them here.Ask
@zeropath-ai-dev!To request modifications, please post a comment beginning with
@zeropath-ai-devand specify the changes required.@zeropath-ai-devwill then implement the requested adjustments and commit them to the specified branch in this pull request. Our bot is capable of managing changes across multiple files and various development-related requests.Manually Modify the Files