The vulnerability stems from missing rate-limiting in critical authentication flows. The patch adds:
Rate limit hits in API authentication logic (api.py)
POST-specific rate limits on login (page_login.py)
MFA endpoint rate limits (page_mfa.py)
Proper rate limiting replacing manual counters in password changes (page_pref_general.py).
These functions handled sensitive operations without resource throttling in vulnerable versions, as shown by the addition of @cherrypy.tools.ratelimit decorators and hit() calls in the patch.