How long a sign-in takes to fail tells anyone whether the name is an account #138

Closed
opened 2026-10-05 10:21:35 -07:00 by rays · 1 comment
Owner

Found by the load tests (#133) on 2026-10-05: a wrong password for an account's name was refused a median 31ms later than one for a name that is not an account. login answers the same words either way, as its comment intends, but only checks a password when the name has a hash, so the time alone says which names are accounts here.

Found by the load tests (#133) on 2026-10-05: a wrong password for an account's name was refused a median 31ms later than one for a name that is not an account. login answers the same words either way, as its comment intends, but only checks a password when the name has a hash, so the time alone says which names are accounts here.
Author
Owner

Fixed in f1d3604: a name with no account, or no password, is checked against a fixed decoy hash. The load test's median gap between a known and an unknown name went from 31ms to 0.2ms; in production a made-up name is now refused in 70ms, as long as a real check. Deployed 2026-10-05 (0.10.1-dev).

Fixed in f1d3604: a name with no account, or no password, is checked against a fixed decoy hash. The load test's median gap between a known and an unknown name went from 31ms to 0.2ms; in production a made-up name is now refused in 70ms, as long as a real check. Deployed 2026-10-05 (0.10.1-dev).
rays closed this issue 2026-10-05 10:41:18 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#138