Angrebet begyndte med kompromitteringen af Packagist-kontoen tilhørende en legitim PHP- og DevOps-udvikler, dinushchathurya, i perioden mellem 12. og 13. juli 2026 . Packagist er designet til automatisk at synkronisere pakkeversioner fra deres kilde-repositories. Denne funktion blev misbrugt: angriberne push'ede ondsindede "dev-main"-udviklingsversioner af alle ti pakker tilknyttet udviklerens konto, hvilket Packagist derefter indlæste og gjorde tilgængelige . De ti pakker var legitime PHP-biblioteker, men angrebet havde ikke PHP-kode som mål .
Kernen i angrebet lå ikke i PHP-koden; PHP-bibliotekerne forblev ufarlige uden nogen install-hooks eller ondsindet netværksaktivitet . I stedet injicerede angriberne 583 ondsindede GitHub Actions-workflow-filer (.github/workflows/*.yml) i udviklerens kilde-repositories. Hver berørt pakkeversion indeholdt mellem 55 og 62 af disse workflow-filer . GitHub Actions-workflows er YAML-filer, der definerer automatiserede opgaver, såsom at køre tests eller implementere kode. Angriberne misbrugte denne legitime automatiseringsinfrastruktur.
Når en fork eller kopi af det kompromitterede repository udløste en workflow (f.eks. ved en push-hændelse), instruerede den ondsindede .yml-fil GitHub-hostens Ubuntu-runner til at :
43[.]228[.]157[.]68.Dette omdannede effektivt hver udløst workflow til en scannings- og udnyttelsesnode, der brugte Googles gratis infrastruktur som en distribueret platform for angrebet .
Målet for kampagnen var CVE-2026-41940, en kritisk sårbarhed i cPanel og WebHost Manager (WHM) .
cpsrvd basic authentication handler . En uautentificeret angriber kunne sende en konstrueret Authorization-header, der indeholdt rå newline-tegn. Dette gjorde det muligt for dem at injicere vilkårlige egenskaber i en sessionsfil, såsom user=root og hasroot=1, hvilket effektivt gav dem root-niveau administrationsadgang til WHM-grænsefladen uden en gyldig adgangskode .Når udnyttelsen lykkedes på en kompromitteret cPanel/WHM-server, var post-exploitation-payloadet designet til at indsamle en bred vifte af legitimationsoplysninger og hemmeligheder. De primære mål inkluderede :
Tyveriet af sådan en bred vifte af legitimationsoplysninger indikerer et data-agnostisk, opportunistisk forsøg på at få fat i værdifulde adgangstokens på den kompromitterede server .
De 583 workflow-filer i de 10 Packagist-pakker var kun den indledende opdagelse. Ved at undersøge angrebsindikatorer som et delt DNSHook callback-domæne og kode-genbrugsmønstre afslørede forskere en meget større operation :
Denne massive forskel tyder stærkt på, at angriberne kompromitterede mange flere udviklerkonti og repositories ud over den enkelte dinushchathurya-konto . Kampagnen var ikke et enkeltpunktssvigt, men en koordineret, multi-konto operation. The Hacker News rapporterede om et separat, tidligere Packagist-supply chain-angreb i maj 2026, der kompromitterede 8 pakker med relaterede ondsindede elementer , hvilket yderligere understreger økosystemets sårbarhed.
Kampagnen udgør en vedvarende trussel, fordi angribernes infrastruktur ikke er fuldstændig neutraliseret. Kampagnen kan fortsætte gennem :
43[.]228[.]157[.]68) er muligvis stadig operationel og modtager aktivt data .Selvom den oprindelige udviklers Packagist-konto er blevet suspenderet, betyder det enorme antal matchende workflow-filer (op til ~16.000), at operationen har et bredt fodaftryk, der er svært at udrydde fuldstændigt .
Baseret på den offentliggjorte analyse bør organisationer og udviklere straks tage følgende skridt :
push- eller workflow_dispatch-udløsere uden manuel gennemgang.43[.]228[.]157[.]68) og det kendte DNSHook callback-domæne ..github/workflows/-filer, da PHP-koden i sig selv kan være ren, mens angrebet udelukkende lever i CI/CD-konfigurationen .