Severity: CRITICAL
Location: src/Controllers/AuthController.php:589-594
Bug: handleForgotPassword sets $_SESSION['reset_user_id'] for any registered email. showResetPassword only checks the session key is present — not that the code was delivered or entered.
Fix: Do not set reset_user_id until the code is verified; use a signed nonce for the intermediate step.
Status: open. Will reply with remediation details when resolved.