Page MenuHomePhabricator

OATHAuth disable 2fa doesn't properly check getLoginSecurityLevel()
Closed, InvalidPublic

Description

Not super critical since you do have to input a 2FA code to disable.

getLoginSecurityLevel() in SpecialDisableOATHForUser is supposed to require users to re-enter their pass before disabling 2FA. This does not seem to work in practise.

Event Timeline

Tgr subscribed.

SpecialDisableOATHForUser disables OAuth for other users. (Shame on someone for not documenting what the class does :) SpecialOATHDisable does not use getLoginSecurityLevel() (that would be bad, since it would require two tokens to disable).

Ah, that's confusing. Thanks.

Still seems like it would be nice to require a pass and a token, in case e.g. someone has someone's phone for a limited window but does not know the password. But requiring multiple tokens would be silly.