Útok začal kompromitací Packagist účtu patřícího legitimnímu PHP a DevOps vývojáři s přezdívkou dinushchathurya, a to mezi 12. a 13. červencem 2026 . Packagist je navržen tak, aby automaticky synchronizoval verze balíčků z jejich zdrojových repozitářů. Této funkce útočníci zneužili: do všech deseti balíčků spojených s vývojářovým účtem nahráli škodlivé "dev-main" verze, které Packagist následně ingestoval a zpřístupnil . Deset balíčků byly legitimní PHP knihovny, ale útok necílil na jejich uživatele prostřednictvím PHP kódu.
Jádro útoku nebylo v samotném PHP kódu – PHP knihovny zůstaly neškodné, bez jakýchkoli instalačních hooků nebo škodlivé síťové aktivity . Místo toho útočníci vložili 583 škodlivých GitHub Actions workflow souborů (.github/workflows/*.yml) do zdrojových repozitářů vývojáře. Každý postižený balíček obsahoval 55 až 62 těchto workflow souborů . GitHub Actions workflow jsou YAML soubory, které definují automatizované úkoly, jako je spouštění testů nebo nasazování kódu. Útočníci tuto legitimní automatizační infrastrukturu zneužili.
Jakmile fork nebo kopie kompromitovaného repozitáře spustila workflow (např. při události push), škodlivý .yml soubor instruoval GitHub-hostovaný Ubuntu runner, aby :
43[.]228[.]157[.]68.Tím se každé spuštěné workflow proměnilo ve skenovací a explotační uzel, který využíval bezplatnou infrastrukturu GitHubu jako distribuovanou platformu pro útok .
Cílem kampaně byla CVE-2026-41940, kritická zranitelnost v cPanel a WebHost Manager (WHM) .
cpsrvd obsluze základní autentizace . Neautentizovaný útočník mohl odeslat upravenou Authorization hlavičku obsahující znaky nového řádku. To mu umožnilo vložit libovolné vlastnosti do session souboru, například user=root a hasroot=1, čímž získal root přístup k WHM rozhraní bez platného hesla .Jakmile exploit na kompromitovaném cPanel/WHM serveru uspěl, post-exploitační payload byl navržen k hromadnému sběru široké škály přihlašovacích údajů a tajemství. Mezi primární cíle patřily :
Krádež tak široké škály přihlašovacích údajů naznačuje oportunistický sběr všech cenných přístupových tokenů, které byly na kompromitovaném serveru k dispozici .
583 workflow souborů v 10 Packagist balíčcích byl jen prvotní objev. Pivotováním na indikátory útočníků, jako je sdílená DNSHook callback doména a vzory opakovaného použití kódu, výzkumníci odhalili mnohem větší operaci :
Tento masivní nepoměr silně naznačuje, že útočníci kompromitovali mnoho dalších vývojářských účtů a repozitářů nad rámec jediného dinushchathurya účtu . Kampaň nebyla selháním jediného bodu, ale koordinovanou operací zahrnující více účtů. The Hacker News informoval o samostatném, dřívějším útoku na dodavatelský řetězec Packagistu v květnu 2026, který kompromitoval 8 balíčků s příbuznými škodlivými elementy , což dále zdůrazňuje zranitelnost ekosystému.
Kampaň představuje trvalou hrozbu, protože útočnická infrastruktura není zcela neutralizována. Kampaň může pokračovat prostřednictvím :
43[.]228[.]157[.]68) může být stále funkční a aktivně přijímat data .Zatímco původní vývojářův Packagist účet byl pozastaven, obrovský rozsah odpovídajících workflow souborů (až ~16 000) znamená, že operace má široký záběr, který je obtížné zcela vymýtit .
Na základě publikované analýzy by organizace a vývojáři měli okamžitě provést následující kroky :
push nebo workflow_dispatch triggerech bez manuálního přezkoumání.43[.]228[.]157[.]68) a známou DNSHook callback doménou ..github/workflows/ soubory, protože PHP kód samotný může být čistý, zatímco útok žije výhradně v CI/CD konfiguraci .