CVE-2026-59960: внедрение команд ОС через имя ветки CI в @argos-ci/core
В пакете @argos-ci/core до версии 6.2.1 обнаружена уязвимость внедрения команд ОС (CVSS 7.5, HIGH). Значения ветки или ref из GITHUB_HEAD_REF и ARGOS_BRANCH попадают в командные строки execSync() без должной очистки. Уязвимость затрагивает процессы загрузки Argos на CI-раннерах и может привести к утечке секретов CI или компрометации раннера.
Подробности
Уязвимость CVE-2026-59960 получила оценку CVSS 7.5 (HIGH). Затронут продукт argos-ci argos-javascript, а именно пакет @argos-ci/core версий до 6.2.1. Согласно описанию, при значении hasRemoteContentAccess равном false контролируемые атакующим значения ветки или ref из переменных окружения GITHUB_HEAD_REF или ARGOS_BRANCH могут проходить через config.branch и функцию getMergeBaseCommitSha(). Функции gitFetch() и gitMergeBase() в файле packages/core/src/ci-environment/git.ts подставляют эти значения непосредственно в строки команд, выполняемых через execSync() с оболочкой /bin/sh -c. Из-за отсутствия корректной обработки специальных символов оболочки злоумышленник может сформировать имя ветки в pull-request'е, содержащее метасимволы shell, и добиться выполнения произвольных команд с привилегиями процесса загрузки Argos на CI-раннере. Успешная эксплуатация позволяет раскрыть секреты CI, изменить артефакты сборки или полностью скомпрометировать раннер. Проблема исправлена в версии пакета @argos-ci/core 6.2.1.Что делать
Основная рекомендация — как можно скорее обновить @argos-ci/core до версии 6.2.1 или более поздней. Это единственный надёжный способ устранить уязвимость. Дополнительные меры защиты: - Проверьте, не используются ли в ваших CI-пайплайнах затронутые версии пакета, включая транзитивные зависимости. - Ограничьте выполнение процессов на раннерах: используйте изолированные и эфемерные раннеры, не предоставляйте процессам сборки избыточных привилегий. - Ограничьте доступ к секретам CI для сборок из недоверенных источников (например, pull-request'ов из форков) и применяйте политику их ручного подтверждения. - Пересмотрите подход к работе с внешними значениями, попадающими в командные строки, если вы поддерживаете собственные обёртки или форки SDK. - После обновления проверьте журналы CI на предмет подозрительной активности, связанной с обработкой веток и ref. Если обновление невозможно, рассмотрите временные митигации: фильтрацию значений GITHUB_HEAD_REF и ARGOS_BRANCH до передачи в SDK, отказ от использования недоверенных имён веток в загрузке Argos или временное отключение соответствующих шагов пайплайна. Итог: CVE-2026-59960 — серьёзная уязвимость внедрения команд ОС в @argos-ci/core, эксплуатируемая через имя ветки CI. Риск особенно высок для проектов, принимающих pull-request'ы из внешних источников. Обновление до версии 6.2.1 закрывает проблему и должно быть выполнено в приоритетном порядке.Источник: CVE Project (cvelistV5)
