Harden-Runner — это агент безопасности CI/CD, который работает как EDR для исполнителей GitHub Actions. В версиях 2.15.1 и ниже Harden-Runner позволяет обходить выходную политику: блокировать сетевые ограничения с помощью DNS-запросов через TCP. Политики исходящего трафика применяются к исполнителям GitHub путем фильтрации исходящих подключений на сетевом уровне.
Если egress-policy:block включен с ограничительным списком разрешенных конечных точек (например, только github.com:443), весь несоответствующий трафик должен быть запрещен. Однако DNS-запросы через TCP, обычно используемые для больших ответов или отката от UDP, не ограничены должным образом. Такие инструменты, как dig, могут явно инициировать DNS-запросы на основе TCP (флаг +tcp), не блокируясь.
Эта уязвимость требует, чтобы у злоумышленника уже были возможности выполнения кода в рабочем процессе GitHub Actions. Проблема исправлена в версии 2.16.0.
Показать оригинальное описание (EN)
Harden-Runner is a CI/CD security agent that works like an EDR for GitHub Actions runners. In versions 2.15.1 and below, the Harden-Runner that allows bypass of the egress-policy: block network restriction using DNS queries over TCP. Egress policies are enforced on GitHub runners by filtering outbound connections at the network layer. When egress-policy: block is enabled with a restrictive allowed-endpoints list (e.g., only github.com:443), all non-compliant traffic should be denied. However, DNS queries over TCP, commonly used for large responses or fallback from UDP, are not adequately restricted. Tools like dig can explicitly initiate TCP-based DNS queries (+tcp flag) without being blocked. This vulnerability requires the attacker to already have code execution capabilities within the GitHub Actions workflow. The issue has been fixed in version 2.16.0.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Stepsecurity Harden-Runner
cpe:2.3:a:stepsecurity:harden-runner:*:*:*:*:community:*:*:*
|
— |
2.16.0
|