CVE-2025-30154

reviewdog action-setup GitHub Action

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2025-03-24

Официальное описание

reviewdog action-setup GitHub Action contains an embedded malicious code vulnerability that dumps exposed secrets to Github Actions Workflow Logs.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость CVE-2025-30154 в GitHub Action reviewdog/action-setup классифицируется как внедрение вредоносного кода (Supply Chain Attack). В определенные версии экшена был встроен скрипт, который сканирует переменные окружения процесса и принудительно выводит содержимое секретов (Secrets) GitHub Actions в логи выполнения Workflow.

Это позволяет злоумышленникам перехватывать API-ключи, токены доступа и другие конфиденциальные данные, которые передаются в контекст выполнения шага. Уязвимость представляет критическую угрозу, так как компрометация секретов может привести к несанкционированному доступу к инфраструктуре и репозиториям.

Как исправить

Основной метод исправления — обновление версии GitHub Action до безопасного релиза, в котором вредоносный код был удален.

  1. Найдите в вашем репозитории файлы конфигурации Workflow (обычно в .github/workflows/*.yml).
  2. Обновите версию reviewdog/action-setup до v1.1.0 или выше.

Пример исправления в YAML-файле:

- name: Setup reviewdog
  uses: reviewdog/action-setup@v1
  with:
    reviewdog_version: latest

  1. После обновления версии необходимо принудительно отозвать (Rotate) все секреты, которые могли быть скомпрометированы, так как они уже могли попасть в логи.

Временные меры

Если немедленное обновление невозможно, используйте следующие методы защиты:

  1. Фиксация экшена по SHA-хэшу коммита (рекомендуемая практика безопасности):
- name: Setup reviewdog
  uses: reviewdog/action-setup@a0d64031fd5d5561927588ee2dce1f34bd6db7c9

  1. Ограничение прав токена GITHUB_TOKEN до минимально необходимых (Read-only):
permissions:
  contents: read

  1. Очистка логов предыдущих запусков Workflow, чтобы предотвратить извлечение секретов из истории:
gh run delete --all

  1. Использование OpenID Connect (OIDC) вместо долгоживущих секретов там, где это возможно, чтобы минимизировать ущерб от утечки.