CVE-2026-116676
Atlantis: OS command injection through PR-controlled Terraform workspace enables RCE during plan
Что произошло
Atlantis is a self-hosted golang application that listens for Terraform pull request events via webhooks. From version 0.4.0 until 0.47.1, Atlantis passes the pull-request-controlled workspace value from atlantis.yaml into Terraform command arguments that are joined with strings.Join(args, " ") and executed through sh -c. An authenticated contributor whose pull request is eligible for an Atlantis plan can include shell metacharacters in the workspace name, causing arbitrary commands to execute as the Atlantis service account without custom workflows, apply permission, or a malicious Terraform provider. External contributors can reach the flaw through fork pull requests only when --allow-fork-prs is enabled, while eligible same-repository branches do not require that option. The commands inherit the Atlantis process environment and can access cloud-provider, Terraform, and version-control credentials as well as files, state, and network resources available to the service. This issue is fixed in version 0.47.1.
Что это значит
Недоверенные данные могут попасть в команду операционной системы. Оцените доступность уязвимого интерфейса и права сервиса.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
github.com/runatlantis/atlantis go
Диапазон источника: >= 0.4.0, <= 0.47.0
Первая исправленная версия по источнику: 0.47.1
CVSS: оценки и векторы
CVSS 3.1 · security-advisories@github.com8.8
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1 · ghsa8.8
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Классы CWE
Источники и ссылки
Происхождение полей
{
"cwes": [
"ghsa",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-10-28T15:05:58.610644+00:00"
},
"title": {
"source": "ghsa",
"received_at": "2026-10-28T14:59:55.417360+00:00"
},
"scores": [
"ghsa",
"nvd"
],
"status": {
"source": "nvd",
"received_at": "2026-10-28T15:29:17.643053+00:00"
},
"affected": [
"ghsa"
],
"published": {
"source": "nvd",
"received_at": "2026-10-28T15:29:17.643053+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-10-28T15:05:58.610644+00:00"
},
"references": [
"ghsa",
"nvd"
],
"description": {
"source": "nvd",
"received_at": "2026-10-28T15:29:17.643053+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены28.10.2026, 18:06
- Появились сведения об исправлении28.10.2026, 17:59
- Опубликована28.10.2026, 15:17