Connecting to a malicious Codespaces via GH CLI could allow command execution on the user's computer
The GitHub CLI version 2.6.1 and earlier are vulnerable to remote code execution through a malicious codespace SSH server when using `gh codespace ssh` or `gh codespace logs` commands. This has been patched in the cli v2.62.0. Developers connect to remote codespaces through an SSH server running within the devcontainer, which is generally provided through the [default devcontainer image]( https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-... https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration) . GitHub CLI [retrieves SSH connection details]( https://github.com/cli/cli/blob/30066b0042d0c5928d959e288144300cb28196c9/internal/codespaces/rpc/inv... https://github.com/cli/cli/blob/30066b0042d0c5928d959e288144300cb28196c9/internal/codespaces/rpc/invoker.go#L230-L244 ), such as remote username, which is used in [executing `ssh` commands]( https://github.com/cli/cli/blob/e356c69a6f0125cfaac782c35acf77314f18908d/pkg/cmd/codespace/ssh.go#L2... https://github.com/cli/cli/blob/e356c69a6f0125cfaac782c35acf77314f18908d/pkg/cmd/codespace/ssh.go#L263 ) for `gh codespace ssh` or `gh codespace logs` commands. This exploit occurs when a malicious third-party devcontainer contains a modified SSH server that injects `ssh` arguments within the SSH connection details. `gh codespace ssh` and `gh codespace logs` commands could execute arbitrary code on the user's workstation if the remote username contains something like `-oProxyCommand="echo hacked" #`. The `-oProxyCommand` flag causes `ssh` to execute the provided command while `#` shell comment causes any other `ssh` arguments to be ignored. In `2.62.0`, the remote username information is being validated before being used.
- Опубликовано
- 14 нояб. 2024 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 0,9 % · 57-й процентиль
- CWE
- CWE-77
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
38
Наблюдать
Пока низкий приоритет.
- CVSS
- 38 / 40 · 9.6 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,9 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- 9,6
- CNA · GitHub_M
- 8,0
- разница 1,6 балла
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЗатронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| github | cli | cpe:2.3:a:github:cli |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- github cliдо 2.62.0
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
cli cli
- <= 2.61.0затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | gh | все версии | — |
| Debian:13 | gh | до 2.46.0-2 | 2.46.0-2 |
| Go | github.com/cli/cli | до 2.62.0 | 2.62.0 |
| Go | github.com/cli/cli | все версии | — |
| Go | github.com/cli/cli/v2 | до 2.62.0 | 2.62.0 |
| openSUSE:Leap 16.0 | gh | до 2.96.0-bp160.1.1 | 2.96.0-bp160.1.1 |
| openSUSE:Tumbleweed | gh | до 2.62.0-1.1 | 2.62.0-1.1 |
| openSUSE:Tumbleweed | govulncheck-vulndb | до 0.0.20241119T173509-1.1 | 0.0.20241119T173509-1.1 |
| SUSE:Package Hub 15 SP6 | gh | до 2.65.0-bp156.2.17.1 | 2.65.0-bp156.2.17.1 |
| SUSE:Package Hub 15 SP6 | gh | до 2.65.0-bp156.2.17.1 | 2.65.0-bp156.2.17.1 |
Тот же продукт
github: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-48501GitHub CLI tokens leak via `gh attestation` commands36Наблюдать
- CVE-2026-45803gh: GitHub Actions log output in `gh run view` allows terminal escape sequence injection14Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Azure Linux 3.0 ARM | 2.62.0-1 · gh | Microsoft (MSRC) |
| Azure Linux 3.0 x64 | 2.62.0-1 · gh | Microsoft (MSRC) |
| debian:gh | 2.46.0-2 · Debian:13 | Реестр пакетов (OSV) |
| Go:github.com/cli/cli | 2.62.0 | Реестр пакетов (OSV) |
| Go:github.com/cli/cli/v2 | 2.62.0 | Реестр пакетов (OSV) |
| opensuse:gh | 2.62.0-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:gh | 2.65.0-bp156.2.17.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:govulncheck-vulndb | 0.0.20241119T173509-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| suse:gh | 2.65.0-bp156.2.17.1 · SUSE:Package Hub 15 SP6 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
- RyotaKFlatt Security Inc.нашёл
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Вендор продукта присутствует в публичной программе. Сопоставление по имени; проверьте текст scope в программе.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Пользователь должен открыть ссылку или посетить страницу.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
Влияние может выйти за пределы уязвимого компонента (область действия меняется).
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Требуется
- Область действия
- Изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-77 · Improper Neutralization of Special Elements used in a Command ('Command Injection')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- LDAP InjectionCAPEC-136вероятность: High · High
- Command DelimitersCAPEC-15вероятность: High · High
- IMAP/SMTP Command InjectionCAPEC-183Medium
- Command InjectionCAPEC-248вероятность: Medium · High
- Manipulating Writeable Terminal DevicesCAPEC-40вероятность: High · Very High
- Exploiting Multiple Input Interpretation LayersCAPEC-43вероятность: Medium · High
- Manipulating Writeable Configuration FilesCAPEC-75вероятность: High · Very High
- Manipulating Web Input to File System CallsCAPEC-76вероятность: High · Very High
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.