Microsoft has recently awarded a $50,000 bounty to a researcher for discovering a crucial account hijack vulnerability. The vulnerability could have allowed an adversary to take over any target account without permission.
Microsoft Account Hijack Vulnerability
Security researcher Laxman Muthiyah has found a critical vulnerability affecting Microsoft users’ accounts. Exploiting this vulnerability allowed to hijack any Microsoft user account without consent.
Elaborating his findings of the Microsoft bug in a blog post, the researcher stated that the vulnerability basically existed in the password reset feature.
Briefly, when a user requests a password reset, Microsoft sends a security code to the users’ email address. After sending the code, the website then displays a new prompt where the user should enter the code. At this point, an adversary can try brute-forcing the code. However, Microsoft applies rate limiting to prevent such attacks alongside encrypting the entered code before sending it for validation.
However, the researcher figured out a bypass as he could meddle with the encryption process. Moreover, he tweaked his code to send bulk codes at the same time whilst making sure that the codes also reach the server together. In this way, he could evade any IP blacklisting or rate-limiting attempt.
As explained in the post,
I figured out the encryption technique and was able to automate the entire process from encrypting the code to sending multiple concurrent requests…
After some days, I realized that they are blacklisting the IP address if all the requests we send don’t hit the server at the same time, even a few milliseconds delay between the requests allowed the server to detect the attack and block it. Then I tweaked my code to handle this scenario and tested it again…
Surprisingly, it worked.
The researcher demonstrated that the attack would even work for accounts secured with 2FA. Though, taking over those accounts would add the additional step of brute-forcing the 2FA codes too.
$50,000 Bounty Awarded
After discovering this vulnerability, the researcher made videos of the exploit and informed Microsoft about it.
Microsoft quickly acknowledged his report and patched the bug in November 2020. Aside from the fix, Microsoft also rewarded the researcher with a $50,000 bounty.