rustdesk / rustdesk/rustdesk-server-pro
Email address enumeration via the Forgot Password feature
Open
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 317
- Forks
- 119
- PR merge metrics
- No merged PRs in 30d
Description
The forgot password feature currently exposes whether an email exists in the system through an error message. This can be exploited for user enumeration attacks.
Steps to Reproduce:
- Go to the "Forgot Password" form.
- Enter an email that is not registered.
- Observe the message: "Failed to get verification code: the user with this email doesn't exist."
Expected Behavior:
- The system should return a generic message that does not indicate whether the email is registered.
- Suggested message: "If this email is registered, you will receive a verification code."
- Response time and HTTP status code should be consistent for both registered and unregistered emails.
Suggested Fixes:
- Return a neutral message.
- Ensure response status and timing remain the same.
- Implement rate limiting to prevent brute-force attacks.
- Avoid logging details that reveal if an email exists.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Forgot Password form and the request handler that produces the reported verification-code error. Compare registered and unregistered email responses, then verify that the message, status, timing, rate limiting, and logs no longer reveal account existence.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100