Review Glossary FR

Size

Eyes

Finish a part in any dojo to unlock the next eyes.

Day 1 10 min

Threat modeling a feature

1 / 10 · ≈ 10 min left

The problem

On January 11, 2024, GitLab released 7 patched versions, from 16.1.6 to 16.7.2, for CVE-2023-7028, scored 10.0 out of 10. The advisory: "user account password reset emails could be delivered to an unverified email address." An attacker who sent a reset for your account could receive the link and set a new password.

GitLab told admins how to look for attacks in their logs: requests to /users/password whose email parameter was a JSON array with multiple addresses. The bug came in with 16.1.0 on May 1, 2023, so it was live for eight months. On accounts with two-factor login, the attacker could reset the password but still could not log in.

A researcher reported it through GitLab's bug bounty program. The question behind it fits on one line: who chooses where the reset email goes? A threat model asks such questions on purpose, at design time. Below, you run one on a "forgot password" feature, with STRIDE as the checklist.