Page MenuHomePhabricator

Don't send reset links to unverified addresses on accounts with verified addresses
ClosedPublic

Authored by epriestley on Aug 9 2014, 9:08 PM.
Tags
None
Referenced Files
F14770722: D10206.diff
Thu, Jan 23, 9:29 PM
Unknown Object (File)
Sat, Jan 18, 7:31 AM
Unknown Object (File)
Sun, Jan 12, 4:21 PM
Unknown Object (File)
Dec 19 2024, 6:01 PM
Unknown Object (File)
Dec 17 2024, 3:43 AM
Unknown Object (File)
Dec 13 2024, 2:31 PM
Unknown Object (File)
Dec 11 2024, 5:43 AM
Unknown Object (File)
Dec 7 2024, 11:22 AM
Subscribers

Details

Summary

Via HackerOne. If a user adds an email address and typos it, entering alinculne@gmailo.com, and it happens to be a valid address which an evil user controls, the evil user can request a password reset and compromise the account.

This strains the imagination, but we can implement a better behavior cheaply.

  • If an account has any verified addresses, only send to verified addresses.
  • If an account has no verified addresses (e.g., is a new account), send to any address.

We've also received several reports about reset links not being destroyed as aggressively as researchers expect. While there's no specific scenario where this does any harm, revoke all outstanding reset tokens when a reset link is used to improve the signal/noise ratio of the reporting channel.

Test Plan
  • Tried to send a reset link to an unverified address on an account with a verified address (got new error).
  • Tried to send a reset link to a verified adddress on an account with a verified address (got email).
  • Tried to send a reset link to an invalid address (got old error).
  • Tried to send a reset link to an unverified address on an account with only unverified addresses -- a new user (got email).
  • Requested several reset links, used one, verified all the others were revoked.

Diff Detail

Repository
rP Phabricator
Branch
reset1
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 2136
Build 2140: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Don't send reset links to unverified addresses on accounts with verified addresses.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Aug 11 2014, 6:25 PM
epriestley updated this revision to Diff 24595.

Closed by commit rP6232e9676cd4 (authored by @epriestley).