Een aanvaller is erin geslaagd om in te breken op de npm-productie-infrastructuur van GitHub, daarnaast zijn van tientallen organisaties private GitHub-repositories gestolen, waaronder npm, zo laat het populaire platform voor softwareontwikkelaars in een blogposting weten. De aanval was mogelijk via gestolen OAuth user tokens die van Heroku en Travis-CI waren. Dit zijn third-party OAuth integrators.
Bedrijven integreren de diensten van Heroku en Travis-CI bij het ontwikkelen van software. Zo biedt Heroku een cloudapplicatieplatform met GitHub-integratie, waarbij programmeurs code die op GitHub staat kunnen uitrollen naar apps die op Heroku draaien. Ontwikkelaars gebruiken Heroku daarbij als platform voor het uitrollen, beheren en opschalen van applicaties. Voor de communicatie tussen Heroku en GitHub wordt gebruikgemaakt van tokens. Een aanvaller die over een token beschikt kan dezelfde acties uitvoeren als de Heroku-gebruiker.
GitHub ontdekte naar eigen zeggen op 12 april dat een aanvaller via een gestolen AWS (Amazon Web Services) API-key toegang tot de npm-productie-infrastructuur van GitHub had gekregen. Npm, dat onderdeel van GitHub is, is de standaard package manager voor de JavaScript-omgeving Node.js en naar eigen zeggen het grootste softwarearchief ter wereld.
GitHub denkt dat de aanvaller de API-key in handen kreeg door het downloaden van een verzameling private npm-repositories op GitHub. Deze repositories konden via een gestolen OAuth-token worden gedownload. Het token was buitgemaakt bij Heroku of Travis-CI. Salesforce, dat eigenaar van Heroku is, laat weten dat de aanvaller via een gestolen OAuth-token toegang tot Heroku's GitHub-account kreeg. Hoe dit kon gebeuren wordt niet vermeld.
Heroku host op GitHub een integration dashboard. De aanvaller gebruikte OAuth-tokens van dit dashboard om GitHub-accounts van klanten te achterhalen. Volgens Salesforces kon de aanvaller met de tokens die bij Heroku zijn gestolen toegang tot de GitHub-repositories van klanten krijgen. Vervolgens zou het mogelijk zijn om code in deze repositories te lezen en aan te passen.
Volgens GitHub werden met de gestolen tokens private repositories "in de npm-organisatie op GitHub.com" gedownload en is er mogelijk toegang verkregen tot de npm-packages zoals ze in de AWS S3-storage zijn opgeslagen. GitHub gaat erop dit moment vanuit dat de aanvaller geen packages heeft aangepast of dat er toegang is verkregen tot accountgegevens of inloggegevens.
Naar aanleiding van het incident heeft Salesforce alle OAuth-tokens van de Heroku Dashboard GitHub integration ingetrokken. Daardoor is het niet meer mogelijk om apps vanaf GitHub via het Heroku dashboard of Heroku automation uit te rollen. Alle getroffen klanten zouden inmiddels zijn gewaarschuwd. Het onderzoek loopt nog.
Deze posting is gelocked. Reageren is niet meer mogelijk.