Det populære GitHub Action-verktøyet tj-actions/changed-files brukes i mange CI/CD-pipelines for å finne endringer i filer og mapper.
Forrige uke oppdaget sikkerhetsselskapet StepSecurity at uvedkommende på ett eller annet tidspunkt før den 14. mars har hatt tilgang til prosjektet og endret koden til å lekke hemmeligheter i loggene som lages når prosjektet bygges. Det skriver The Register.
Hemmeligheter kan være for eksempel API-nøkler, passord og access tokens.
Mer enn 23.000 GitHub-repoer som bruker verktøyet kan være berørt.
Størst risiko for åpne repoer
Den kompromitterte koden fungerer ved at den potensielt kan skrive CI/CD-hemmeligheter til GitHub Actions-byggeloggen.
Hemmelighetene sendes altså ikke noe sted, men skrives til byggeloggen slik at de blir synlige der i klartekst. Dette gjøres ved å laste ned og kjøre et Python-script som dumper minneinnhold til loggen. Når en GitHub Action kjører, kan for eksempel API-nøkler være tilgjengelig i minnet.
Hvis repoet er åpent tilgjengelig, vil hvem som helst kunne lese loggen og se eventuelle hemmeligheter. Risikoen for private repoer er mindre.
Utvikleren Tonye Jack, som har laget tj-actions, har bekreftet angrepet som skal skyldes at uvedkommende på ukjent vis har fått tilgang til et Personal Access Token (PAT) tilhørende @tj-actions-bot, en bot-konto brukt i forbindelse med vedlikehold av tjenesten.
Du kan lese flere detaljer om hvordan angrepet er gjennomført i praksis hos StepSecurity.

Raser mot falsk Instagram.no: «Forkastelig!»
Fikset problemet
Varun Sharma i StepSecurity publiserte for noen dager siden en issue i tj-actions/changed-files-repoet der han meldte fra om sårbarheten, og flere andre brukere meldte også ifra.
Nå skriver Tonye Jack at den ondsinnede koden er fjernet fra GitHub, og at alle repoer under tj-actions-organisasjonen nå er gjennomgått grundig.
– Alle uautoriserte endringer eller mistenkelig aktivitet har blitt reversert eller fjernet, skriver Jack.
Han råder nå alle som har brukt kompromitterte versjoner av tj-actions/changed-files til å endre eventuelle hemmeligheter, som API-nøkler, og også gå gjennom loggfilene.
