Red Hati ettevõttele kuuluvates RedHatInsights'i hoidlates toimunud GitHub Actions'i väljalaskeprotsessi kompromiteerimine võimaldas kurjategijatel avaldada NPM kataloogis 64 pahatahtlikku versiooni, mis katab 32 NPM paketti Red Hat Cloud Services platvormile. Iga mõjutatud NPM paketi kohta avaldati kaks pahatahtlikku versiooni, millele oli integreeritud kood mini-shai-hulud uue variandi aktiveerimiseks, mis otsib tokeneid ja kasutajatunnuseid praeguses keskkonnas.
Kärbes oli paigaldatud faili index.js ja aktiveerus preinstall töötlija kaudu, mis kutsuti esile mõjutatud paketi installimisel. Pärast aktiveerimist otsis kärbes süsteemist NPM tokeneid (~/.npmrc), PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp ja KubernetesK8s, samuti suletud SSH võtmeid. Leitud andmed saatmine kurjategijatele. Kui leiti NPM katalooge ühendav token, avaldas kärbes automaatselt uusi pahatahtlikke väljaandeid käimasolevates keskkondades arendatavate pakettide jaoks, mõjutades sõltuvuste puu.
GitHub Actionsi juurde pääs saadi ühe Red Hati töötaja konto kompromiteerimise kaudu, mis võimaldas ründajatel otse saata commit'e javascript-clients, frontend-components ja platform-frontend-ai-toolkit hoidlatesse, ilma ülevaatusest läbimise etapita. Commit'ide kaudu lisati pidevasse integreerimisse fail ci.yaml, mis töö käivitamisel bun platvormi abil käivitas skripti _index.js. Skript kasutas õigust "id-token: write", et küsida GitHubilt OIDC (OpenID Connect) tokenit, mida seejärel kasutati NPM-is autentimiseks "trusted publishing" mehhanismi abil.
Poleemilisi koodiga NPM paketid:
- @redhat-cloud-services/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/integrations-client (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/rule-components (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-cloud-services/types (3.6.1, 3.6.2, 3.6.4)
- @redhat-cloud-services/vulnerabilities-client (2.1.8, 2.1.9)
Allikas: opennet.ru
