mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
The login challenge read its attempt count, verified the factor, and only then incremented. Requests sent in parallel all read the same count below the cap, so one ticket allowed more guesses than the cap. Each attempt is now reserved by a single guarded UPDATE before the factor is evaluated, and a failure only settles the reserved attempt.