Z vdorom v postopek izdaje GitHub Actions v repozitorijih RedHatInsights podjetja Red Hat so napadalci lahko v imenik NPM objavili 64 zlonamernih različic 32 paketov NPM za platformo Red Hat Cloud Services. Izdani sta bili dve zlonamerni različici vsakega ogroženega paketa NPM, vsaka s kodo, ki je aktivirala novo različico črva mini-shai-hulud, ki v trenutnem okolju išče žetone in poverilnice.
Črv je bil nameščen v datoteko index.js in aktiviran prek prednamestitvenega rutinskega programa, ki se je poklical ob namestitvi okuženega paketa. Po aktivaciji je črv v sistemu iskal žetone za NPM (~/.npmrc), PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp in KubernetesK8s ter zasebne ključe SSH. Najdene podatke je poslal napadalcem. Če je bil najden žeton NPM, je črv samodejno objavil nove zlonamerne izdaje za pakete, ki so se razvijali v trenutnem okolju, in okužil drevo odvisnosti.
Dostop do dejanj GitHub je bil pridobljen z vdorom v račun zaposlenega pri Red Hatu, kar je napadalcem omogočilo, da so neposredno v repozitorije javascript-clients, frontend-components in platform-frontend-ai-toolkit brez postopka pregleda vnesli spremembe. Te spremembe so v sistem za neprekinjeno integracijo vstavile datoteko ci.yaml, ki je med izvajanjem gradnje izvedel skript _index.js z uporabo platforme bun. Skript je uporabil dovoljenje »id-token: write« za zahtevo žetona OIDC (OpenID Connect) od GitHub-a, ki je bil nato uporabljen za preverjanje pristnosti z NPM prek mehanizma »zaupanja vrednega objavljanja«.
Paketi NPM, ki vsebujejo zlonamerno kodo:
- @redhat-oblačne-storitve/chrome (2.3.1, 2.3.2)
- @redhat-cloud-services/compliance-client (4.0.3, 4.0.4)
- @redhat-cloud-services/config-manager-client (5.0.4, 5.0.5)
- @redhat-cloud-services/entitlements-client (4.0.11, 4.0.12)
- @redhat-cloud-services/eslint-config-redhat-cloud-services (3.2.1, 3.2.2)
- @redhat-cloud-services/frontend-components (7.7.2, 7.7.3)
- @redhat-cloud-services/frontend-components-advisor-components (3.8.2)
- @redhat-cloud-services/frontend-components-config (6.11.3, 6.11.4)
- @redhat-cloud-services/frontend-components-config-utilities (4.11.2, 4.11.3)
- @redhat-cloud-services/frontend-components-notifications (6.9.2, 6.9.3)
- @redhat-cloud-services/frontend-components-remediations (4.9.2, 4.9.3)
- @redhat-cloud-services/frontend-components-testing (1.2.1, 1.2.2)
- @redhat-cloud-services/frontend-components-translations (4.4.1, 4.4.2)
- @redhat-cloud-services/frontend-components-utilities (7.4.1, 7.4.2)
- @redhat-cloud-services/hcc-feo-mcp (0.3.1, 0.3.2)
- @redhat-cloud-services/hcc-kessel-mcp (0.3.1, 0.3.2)
- @redhat-cloud-services/hcc-pf-mcp (0.6.1, 0.6.2)
- @redhat-cloud-services/host-inventory-client (5.0.3, 5.0.4)
- @redhat-cloud-services/insights-client (4.0.4, 4.0.5)
- @redhat-cloud-services/integracije-odjemalec (6.0.4, 6.0.5)
- @redhat-cloud-services/javascript-clients-shared (2.0.8, 2.0.9)
- @redhat-cloud-services/notifications-client (6.1.4, 6.1.5)
- @redhat-cloud-services/patch-client (4.0.4, 4.0.5)
- @redhat-cloud-services/quickstarts-client (4.0.11, 4.0.12)
- @redhat-cloud-services/rbac-client (9.0.3, 9.0.4)
- @redhat-cloud-services/remediations-client (4.0.4, 4.0.5)
- @redhat-cloud-services/komponente-pravil (4.7.2, 4.7.3)
- @redhat-cloud-services/sources-client (3.0.10, 3.0.11)
- @redhat-cloud-services/topological-inventory-client (3.0.10, 3.0.11)
- @redhat-cloud-services/tsc-transform-imports (1.2.2)
- @redhat-oblačne-storitve/vrste (3.6.1, 3.6.2, 3.6.4)
- @redhat-cloud-services/vulnerabilities-client (2.1.8, 2.1.9)
Vir: opennet.ru
