CVE-2024-52308 in cli
Сводка
по VulDB • 02.06.2026
Версии GitHub CLI 2.6.1 и более ранние уязвимы к удаленному выполнению кода (RCE) через вредоносный SSH-сервер Codespace при использовании команд `gh codespace ssh` или `gh codespace logs`. Проблема исправлена в версии cli v2.62.0.
Разработчики подключаются к удаленным Codespace через SSH-сервер, работающий внутри devcontainer, который обычно предоставляется через [образ devcontainer по умолчанию]( 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 [получает данные для SSH-подключения]( 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 ), такие как имя удаленного пользователя, которые используются при [выполнении команд `ssh`]( 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 ) для команд `gh codespace ssh` или `gh codespace logs`.
Эксплуатация уязвимости происходит, когда вредоносный сторонний devcontainer содержит модифицированный SSH-сервер, который внедряет аргументы `ssh` в данные SSH-подключения. Команды `gh codespace ssh` и `gh codespace logs` могут выполнить произвольный код на рабочей станции пользователя, если имя удаленного пользователя содержит что-то вроде `-oProxyCommand="echo hacked" #`. Флаг `-oProxyCommand` заставляет `ssh` выполнить предоставленную команду, а символ `#` (комментарий оболочки) приводит к игнорированию любых других аргументов `ssh`.
В версии `2.62.0` информация об имени удаленного пользователя проверяется перед использованием.
If you want to get best quality of vulnerability data, you may have to visit VulDB.