GitHub-kwetsbaarheid ‘ArtiPACKED’ stelt repositories bloot aan mogelijke overname

Een nieuw ontdekte aanvalsvector in GitHub Actions-artefacten genaamd KunstPACKED kunnen worden misbruikt om opslagplaatsen over te nemen en toegang te krijgen tot de cloudomgevingen van organisaties.

“Een combinatie van verkeerde configuraties en beveiligingslekken kan ervoor zorgen dat er tokens lekken, zowel van externe cloudservices als van GitHub-tokens, waardoor ze beschikbaar worden voor iedereen met leesrechten voor de repository”, aldus Yaron Avital, onderzoeker bij Palo Alto Networks Unit 42, in een deze week gepubliceerd rapport.

“Hierdoor kunnen kwaadwillende actoren met toegang tot deze artefacten de diensten waartoe deze geheimen toegang verlenen, in gevaar brengen.”

Volgens het cybersecuritybedrijf is vooral het lekken van GitHub-tokens (bijvoorbeeld GITHUB_TOKEN en ACTIONS_RUNTIME_TOKEN) waargenomen. Hierdoor krijgen kwaadwillenden niet alleen ongeautoriseerde toegang tot de opslagplaatsen, maar kunnen ze ook de broncode vergiftigen en deze via CI/CD-workflows naar productie pushen.

Met artefacten in GitHub kunnen gebruikers gegevens delen tussen taken in een workflow en die informatie 90 dagen lang bewaren nadat deze is voltooid. Dit kan builds, logbestanden, core dumps, testuitvoer en implementatiepakketten omvatten.

Het beveiligingsprobleem hierbij is dat deze artefacten in het geval van open-sourceprojecten voor iedereen openbaar toegankelijk zijn, waardoor ze een waardevolle bron vormen voor het achterhalen van geheimen zoals GitHub-toegangstokens.

Er is met name vastgesteld dat de artefacten een niet-gedocumenteerde omgevingsvariabele met de naam ACTIONS_RUNTIME_TOKEN blootstellen. Deze variabele heeft een levensduur van ongeveer zes uur en kan worden gebruikt om een ​​artefact te vervangen door een schadelijke versie voordat deze verloopt.

Dit zou vervolgens een aanvalsvenster kunnen openen voor uitvoering van code op afstand wanneer ontwikkelaars het frauduleuze artefact rechtstreeks downloaden en uitvoeren of wanneer er een volgende workflowtaak is die is geconfigureerd om te worden uitgevoerd op basis van eerder geüploade artefacten.

GITHUB_TOKEN verloopt wanneer de taak is voltooid, maar dankzij verbeteringen aan de artefactenfunctie in versie 4 kan een aanvaller raceconditiescenario’s misbruiken om het token te stelen en te gebruiken door een artefact te downloaden terwijl een workflow wordt uitgevoerd.

Het gestolen token kan vervolgens worden gebruikt om kwaadaardige code naar de repository te pushen door een nieuwe branch te maken voordat de pijplijntaak eindigt en het token ongeldig wordt verklaard. Deze aanval rekent echter op de workflow met de machtiging “contents: write”.

Een aantal open-source repositories gerelateerd aan Amazon Web Services (AWS), Google, Microsoft, Red Hat en Ubuntu zijn vatbaar gebleken voor de aanval. GitHub heeft het probleem op zijn beurt gecategoriseerd als informatief, wat vereist dat gebruikers zelf hun geüploade artefacten beveiligen.

“De afschaffing van Artifacts V3 door GitHub zou organisaties die het artefactenmechanisme gebruiken, ertoe moeten aanzetten om de manier waarop ze het gebruiken opnieuw te evalueren”, aldus Avital. “Over het hoofd geziene elementen zoals build-artefacten worden vaak hoofddoelen voor aanvallers.”

Thijs Van der Does