2min

Het gebruik van self-hosted runners in PyTorch voor GitHub-activiteiten leidt tot verschillende kwetsbaarheden, ontdekte security-engineer John Stawinski IV. Dit kan tot veel schadelijke acties leiden.

Volgens security-engineer John Stawinski IV gebruikt het populaire open-source framework PyTorch van Meta zogenoemde self-hosted runners in zijn GitHub-repository. Dit is niet in lijn met best practices en kan leiden tot kwetsbaarheden die grote gevolgen voor de supply chain hebben.

Denk in het laatste geval aan het stelen van secrets van in GitHub ondergebrachte code zodat de release-versie kan worden gecompromitteerd. Ook is het uploaden van kwaadaardige PyTorch-releases naar GitHub mogelijk, of het uploaden van releases naar AWS, het toevoegen van code aan de belangrijkste repository branch of backdoor PyTorch dependencies.

Self-hosted runners

Volgens de onderzoeker zit de belangrijkste kwetsbaarheid hiervoor in de gebruikte zogenoemde self-hosted runners. Runners zijn VM’s die processen uitvoeren in GitHub Actions. Ze worden vaak gebruikt als onderdeel van CI/CD-processen.

De meeste van deze runners worden door GitHub zelf gehost en na gebruik weggegooid en verwijderd. Self-hosted runners draaien buiten het GitHub-platform en zijn meer flexibel. Deze kunnen naar wens worden aangepast door de gebruikers. In tegenstelling tot de runners van GitHub is voor iedere handling geen clean instance nodig en kan dezelfde instance voor verschillende taken worden hergebruikt.

Fix door Meta

GitHub zelf stelt al dat self-hosted runners aanzienlijke securitykwetsbaarheden creëren voor devices-VM’s en netwerkomgevingen, vooral als de VM’s hun omgeving behouden tussen de taken. Volgens GitHub moeten self-hosted runners alleen worden gebruikt door private repositories en niet door openbare.

John Stawinski IV voerde zijn onderzoek uit als onderdeel van een bug bounty-programma van Meta. Meta is de ontwikkelaar van het open-source PyTorch-framework. Inmiddels heeft Meta voor de bug een fix doorgevoerd.

Lees ook: GitHub-certificaties zijn voortaan voor elke gebruiker toegankelijk