Page MenuHomePhabricator

Consistently require MFA on the actual user creation flow
ClosedPublic

Authored by epriestley on May 14 2018, 2:06 PM.
Tags
None
Referenced Files
F14081385: D19448.diff
Fri, Nov 22, 7:33 PM
Unknown Object (File)
Wed, Nov 20, 8:28 PM
Unknown Object (File)
Tue, Nov 19, 8:15 PM
Unknown Object (File)
Sat, Nov 16, 5:27 AM
Unknown Object (File)
Mon, Nov 11, 9:31 PM
Unknown Object (File)
Fri, Nov 8, 2:01 AM
Unknown Object (File)
Oct 23 2024, 8:49 PM
Unknown Object (File)
Oct 17 2024, 7:37 AM
Subscribers
None

Details

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.

Diff Detail

Repository
rP Phabricator
Branch
mfa1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 20323
Build 27598: Run Core Tests
Build 27597: arc lint + arc unit