GitHub has recently patched a vulnerability that potentially threatened all user accounts. Though, it actually impacted only a subset of accounts. Upon exploitation, this GitHub vulnerability could expose users’ session tokens. GitHub users may need to sign-in to their accounts again as the service logged them out as a precaution.
GitHub Vulnerability Exposing Session Tokens
In a recent blog post, GitHub has explained why they had to forcibly log-out users of their accounts. As revealed, a serious vulnerability existed in the GitHub platform that could expose users’ session tokens.
In simple words, exposed session tokens allow an adversary to seamlessly take over vulnerable accounts.
The bug basically existed due to improper handling of authenticated sessions.
In extremely rare circumstances, a race condition in a backend request handling process could have misrouted a user’s session to the browser of another authenticated user, giving them the valid and authenticated session cookie for another user.
GitHub dubbed this a “rare and isolated” issue that didn’t arise due to any other vulnerability. Also, the bug could not be triggered intentionally.
It is important to note that this issue was not the result of compromised account passwords, SSH keys, or personal access tokens (PATs) and there is no evidence to suggest that this was the result of a compromise of any other GitHub systems.
GitHub investigations revealed that the bug existed for about two weeks on the platform, between February 8, 2021, and March 5, 2021. Also, it had a very low impact on users during this time.
There is no indication that other GitHub.com properties or products were affected by this issue, including GitHub Enterprise Server. We believe that this session misrouting occurred in fewer than 0.001% of authenticated sessions on GitHub.com.
Patch Rolled Out
Upon detecting the bug, GitHub worked to develop a fix for this issue. Hence, they first deployed the patch on GitHub.com on March 5, 2021, followed by a second patch on March 8, 2021.
Although it didn’t impact much users, as a precaution, they had to invalidate all authenticated sessions. Thus, all users were signed-out of their accounts.
Yet, users can easily sign-in back to their accounts any time without fearing for the bug as session invalidation has resolved the matter for them.