Angrepet begynte med kompromitteringen av Packagist-kontoen til den legitime PHP- og DevOps-utvikleren dinushchathurya en gang mellom 12. og 13. juli 2026 . Packagist er designet for automatisk å synkronisere pakkeversjoner fra kilderepositories. Denne funksjonen ble misbrukt: angriperne presset ondsinnede 'dev-main' utviklingsversjoner av alle ti pakker knyttet til utviklerens konto, som Packagist deretter tok opp og gjorde tilgjengelig . De ti pakkene var legitime PHP-biblioteker, men angrepet rettet seg ikke mot brukerne deres gjennom PHP-kode.
Kjernen i angrepet var ikke i PHP-koden i seg selv; PHP-bibliotekene forble ufarlige uten installasjonskoblinger eller ondsinnet nettverksaktivitet . I stedet injiserte angriperne 583 ondsinnede GitHub Actions-arbeidsflytfiler (.github/workflows/*.yml) i utviklerens kilderepositories. Hver berørte pakkeversjon inneholdt mellom 55 og 62 av disse arbeidsflytfilene . GitHub Actions-arbeidsflyter er YAML-filer som definerer automatiserte oppgaver, som å kjøre tester eller distribuere kode. Angriperne gjenbrukte denne legitime automatiseringsinfrastrukturen.
Når en fork eller kopi av det kompromitterte repositoryet utløste en arbeidsflyt (f.eks. ved en push-hendelse), instruerte den ondsinnede .yml-filen GitHub-hostede Ubuntu-løperen til å :
43[.]228[.]157[.]68.Dette gjorde effektivt enhver utløst arbeidsflyt om til en skanne- og utnyttelsesnode, ved å bruke GitHub sin gratis infrastruktur som en distribuert plattform for angrepet .
Målet for kampanjen var CVE-2026-41940, en kritisk sårbarhet i cPanel og WebHost Manager (WHM) .
cpsrvd basic-autentiseringsbehandleren . En uautentisert angriper kunne sende en skreddersydd Authorization-header som inneholdt rå linjeskifttegn. Dette tillot dem å injisere vilkårlige egenskaper i en øktfil, for eksempel user=root og hasroot=1, noe som effektivt ga dem root-nivå administrativ tilgang til WHM-grensesnittet uten et gyldig passord .Når utnyttelsen lyktes på en kompromittert cPanel/WHM-server, var den post-utnyttelsesnyttelasten designet for å høste et bredt spekter av legitimasjon og hemmeligheter. Hovedmålene inkluderte :
Tyveriet av et så bredt spekter av legitimasjon indikerer et datanøytralt, opportunistisk grep etter alle verdifulle tilgangstokener som finnes på den kompromitterte serveren .
De 583 arbeidsflytfilene i de 10 Packagist-pakkene var bare den første oppdagelsen. Ved å dreie på angriperindikatorer som et delt DNSHook-tilbakeringingsdomene og kodegjenbruksmønstre, avdekket forskere en mye større operasjon :
Dette enorme avviket tyder sterkt på at angriperne kompromitterte mange flere utviklerkontoer og repositories utover den ene dinushchathurya-kontoen . Kampanjen var ikke en enkeltpunktsfeil, men en koordinert, flerkontooperasjon. The Hacker News rapporterte om et separat, tidligere Packagist-forsyningskjedeangrep i mai 2026 som kompromitterte 8 pakker med relaterte ondsinnede elementer , noe som ytterligere understreker økosystemets sårbarhet.
Kampanjen utgjør en vedvarende trussel fordi angriperens infrastruktur ikke er helt nøytralisert. Kampanjen kan fortsette gjennom :
43[.]228[.]157[.]68) kan fortsatt være i drift og aktivt motta data .Selv om den opprinnelige utviklerens Packagist-konto er suspendert, betyr den enorme mengden matchende arbeidsflytfiler (opptil ~16.000) at operasjonen har et bredt fotavtrykk som er vanskelig å utrydde fullstendig .
Basert på den publiserte analysen bør organisasjoner og utviklere umiddelbart iverksette følgende tiltak :
push- eller workflow_dispatch-utløsere uten manuell gjennomgang.43[.]228[.]157[.]68) og det kjente DNSHook-tilbakeringingsdomenet ..github/workflows/-filer, ettersom PHP-koden i seg selv kan være ren mens angrepet lever utelukkende i CI/CD-konfigurasjonen .