Onderzoekers op het gebied van cyberbeveiliging hebben een nieuwe klasse van zwakheden in de CI/CD-workflow ontdekt, waardoor aanvallers workflows kunnen kapen en open source-toeleveringsketens kunnen compromitteren.
Het ‘kritieke exploiteerbare patroon’ heeft de codenaam gekregen Cordyceps van Novee Security. Het probleem kan aanvallers volledige controle geven over opslagplaatsen bij tientallen van de grootste organisaties wereldwijd, waaronder Microsoft, Google, Apache en Cloudflare.
“De fout kan door elke niet-geverifieerde gebruiker worden misbruikt”, zegt Elad Meged, oprichter en beveiligingsonderzoeker bij Novee Security. “Geen lidmaatschap van een organisatie of speciale privileges; een gratis account is voldoende om goedkeuringen te vervalsen, code te pushen of inloggegevens te stelen.”
Uit de scan van het penetratietestbedrijf van ongeveer 30.000 repository’s met grote impact is gebleken dat meer dan 300 volledig exploiteerbaar zijn, waardoor door aanvallers gecontroleerde code-uitvoering, diefstal van inloggegevens en compromissen in de toeleveringsketen mogelijk zijn, wat ernstige gevolgen kan hebben verderop in de keten.
De kern van het probleem komt voort uit zwakke CI/CD-configuraties die pull-requests (PR’s) meer rechten verlenen dan ze zouden moeten hebben. PR’s zijn voorstellen om codewijzigingen van één vertakking samen te voegen met het hoofdproject. Omdat een niet-vertrouwde PR echter bevoorrechte workflows kan activeren, kan dit de deur openen voor commando-injectie, escalatie van bevoegdheden en compromissen in de toeleveringsketen.
“Deze kwetsbaarheid in de toeleveringsketen ligt in de fundamentele open source-systemen waar de hele industrie op draait, en in het soort problemen dat verborgen blijft voor scanners omdat, technisch gezien, elk afzonderlijk onderdeel werkt zoals ontworpen”, legt Novee uit. “De workflow doet wat hem is opgedragen. De kwetsbaarheid bestaat alleen in de samenstelling: niet-vertrouwde gegevens overschrijden een vertrouwensgrens die niemand heeft gecontroleerd.”
Op Microsoft’s Azure Sentinel vond Novee bijvoorbeeld een opmerking over een PR die anonieme aanvallercode op de CI van Microsoft kon uitvoeren en een niet-verlopende GitHub App-sleutel kon stelen. In een soortgelijk geval zou een PR op de AI Agent Development Kit van Google (“adk-samples”) aanvallercode kunnen uitvoeren op de CI van Google om volledige autoriteit te krijgen over een Google Cloud-repository.
Andere bevindingen staan hieronder vermeld –
- Apache Doris, waarbij twee zero-click-aanvallen een enkele opmerking op een PR of een gevorkte PR veroorzaken om aanvallercode uit te voeren en hardgecodeerde CI-referenties of een token met volledige schrijfrechten te exfiltreren
- Cloudflare Workers SDK, waar een PR met een vervaardigde branchnaam willekeurige opdrachten kan uitvoeren op de CI-runners van Cloudflare
- Python Software Foundation’s Black, waar een enkel pull-verzoek van wie dan ook de code van de aanvaller op de build-systemen van Black kan uitvoeren en het automatiseringstoken kan stelen, dat vervolgens kan worden gebruikt om pull-verzoeken goed te keuren.
Na verantwoorde openbaarmaking hebben zowel Microsoft als Google de impact bevestigd, terwijl Cloudflare, Python en Apache respectievelijk verharding en patches hebben toegepast.
“De aard van agentische codering betekent dat deze CI/CD-kwetsbaarheden voortdurend en op grote schaal worden gereproduceerd, waardoor opslagplaatsen in een exponentieel tempo worden ‘geïnfecteerd'”, aldus Meged. “Omdat anonieme gebruikers ze kunnen gebruiken om controle te krijgen over de softwaretoeleveringsketen, beschouwen we het graag als het ‘poppenspelen’ van de opslagplaatsen van enkele van ’s werelds grootste bedrijven, waarbij ze in stilte hun workflows manipuleren.”