Platform-as-a-service company Heroku this week shared additional details on an April cyberattack that resulted in unauthorized access to multiple customers’ GitHub repositories.
Initially disclosed in mid-April, the incident involved the theft of OAuth tokens issued to Heroku and Travis CI, which allowed the attackers to access the repositories of organizations using these two continuous integration (CI) systems.
In an updated incident notification, GitHub said the attack was highly targeted, given that the threat actors carefully listed all of the accessible repositories and only downloaded private repos from specific organizations.
According to Heroku, the attack started on April 7, when a threat actor abusing a compromised token for a Heroku machine account gained access to a company’s database, which resulted in the attackers downloading customer GitHub integration OAuth tokens.
“According to GitHub, the threat actor began enumerating metadata about customer repositories with the downloaded OAuth tokens on April 8, 2022. On April 9, 2022, the attacker downloaded a subset of the Heroku private GitHub repositories from GitHub, containing some Heroku source code,” the third-party integrator says.
GitHub notified Salesforce – Heroku is a Salesforce company – of the suspicious activity on April 13, one day after initially identifying it. On April 16, Heroky revoked all GitHub integration OAuth tokens, which essentially prevents customers from using the Heroku Dashboard or automation for the deployment of apps from GitHub
“We remain committed to ensuring the integration is secure before we re-enable this functionality,” the company says.
During its own investigation into the incident, Salesforce discovered that the compromised token was also used to access a database and steal hashed and salted passwords for customers’ user accounts. Thus, it reset user passwords to keep accounts protected and also rotated internal Heroku credentials.
Shortly after the incident was made public, Travis CI announced that, while “a private application OAuth key used to integrate the Heroku and Travis CI application” was indeed compromised in the attack, that key “does not provide access to any Travis CI customer repositories or any Travis CI customer data.”
“We thoroughly investigated this issue and found no evidence of intrusion into a private customer repository (i.e. source code) as the OAuth key stolen in the Heroku attack does not provide that type of access. Based on what we have found, we do not believe this is an issue or risk to our customers,” Travis CI said.