On Android, Authenticator does a lot more than show six-digit codes. It also works as a broker, a middleman for sign-ins. Say Outlook or Teams wants to sign you in. Instead of asking for your password, it requests a token from Authenticator, which works like a backstage pass showing you’ve already logged in.
Ofek Levin, a researcher in a fellowship program at security firm Enclave, found that Authenticator trusted what an app said about itself. Part of the app, a screen called AccountChooserActivity, could be opened by any other app on the phone. A rogue app could open it, say it was Teams, and ask for Teams’ token.
There was a safety check, but it checked the wrong thing. Authenticator looked up the real Teams app’s digital signature on the phone and confirmed the request matched it. Since Teams was really installed, the details were there for anyone to read, and the check passed. Authenticator could actually see which app was asking. It just didn’t use that to decide.