Атакуващите вградиха злонамерен софтуер в 32 NPM пакета на Red Hat

В резултат на компрометиране на процеса на създаване на издания на база GitHub Actions в репозиториите на RedHatInsights, собственост на компанията Red Hat, хакерите успяха да публикуват в каталога NPM 64 зловредни версии, обхващащи 32 NPM пакета за платформата Red Hat Cloud Services. За всеки от засегнатите NPM пакети бяха издадени по две зловредни версии, в които бе интегриран код за активиране на нов вариант на червея mini-shai-hulud, който търси токени и идентификационни данни в текущата среда.

Червейът бе разположен в файла index.js и се активираше чрез preinstall обработчик, който се извикваше при инсталиране на засегнатия пакет. След активиране, червейът търсеше в системата токени за NPM (~/.npmrc), PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp и Kubernetes K8s, както и затворени SSH ключове. Намерените данни се изпращаха на хакерите. В случай на открит токен за свързване с каталога NPM, червейът автоматично публикуваше нови зловредни издания за разработваните в текущата среда пакети, засягайки дървото на зависимостите.

Достъпът до GitHub Actions бе получен в резултат на компрометиране на акаунта на един от служителите на Red Hat, което позволи на атакуващите директно да изпращат комити в репозиториите javascript-clients, frontend-components и platform-frontend-ai-toolkit, без да преминават през етапа на преглед. Чрез комитите в системата за непрекъсната интеграция бе добавен файл ci.yaml, който при стартиране на работата за изграждане активираше скрипта _index.js чрез платформата bun. Скриптът използваше правото „id-token: write“ за искане на токен OIDC (OpenID Connect) от GitHub, който след това се прилагаше за аутентикация в NPM чрез механизма „trusted publishing.“

NPM пакети, съдържащи зловреден код:

  • @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)

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster