Consistently require MFA on the actual user creation flow
Summary:
See https://hackerone.com/reports/351361. We currently require MFA on the screen leading into the user create flow, but not the actual create flow.
That is, /people/create/ (which is just a "choose a type of account" page) requires MFA, but /people/new/<type>/ does not, even though this is the actual creation page.
Requiring MFA to create users isn't especially critical: creating users isn't really a dangerous action. The major threat is probably just that an attacker can extend their access to an install by creating an account which they have credentials for.
It also isn't consistently enforced: you can invite users or approve users without an MFA check.
So there's an argument for just removing the check. However, I think the check is probably reasonable and that we'd likely prefer to add some more checks eventually (e.g., require MFA to approve or invite) since these actions are rare and could represent useful tools for an attacker even if they are not especially dangerous on their own. This is also the only way to create bot or mailing list accounts, so this check does something on its own, at least.
Test Plan:
- Visited /people/new/standard/ as an admin with MFA configured.
- Before patch: no MFA prompt.
- After patch: MFA prompt.
Reviewers: amckinley
Reviewed By: amckinley
Differential Revision: https://secure.phabricator.com/D19448