Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.6

CVE-2024-52308: GitHub CLI may run attacker code via malicious codespace

CVE-2024-52308 · published 1 year ago
Summary

If you use GitHub’s command‑line tool (versions before 2.62.0) to connect to a Codespace, a specially crafted development container could cause the tool to execute unwanted commands on your computer. Update the GitHub CLI to the latest version to stop this from happening.

What to do
  • Update github.com cli to version 2.62.0.
  • Update debian gh to version 2.46.0-2.
  • Update github cli to version 2.62.0 or later.
Affected software
Ecosystem VendorProductAffected versions
go github.com cli <= 2.61.0
Fix: upgrade to 2.62.0
go github.com cli < 2.62.0
Fix: upgrade to 2.62.0
– github cli < 2.62.0
cpe:2.3:a:github:cli:*:*:*:*:*:*:*:*
Debian:12 debian gh All versions
Debian:13 debian gh < 2.46.0-2
Fix: upgrade to 2.46.0-2
Original advisory text
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.
Fix within
Internet-facing 14 days
Internal At next upgrade
  • Not known to be exploited
  • Needs hands-on effort to exploit
  • Gives an attacker full control
Severity
9.6 Critical
Exploitation
<1% chance of attack within 30 days
Type
CWE-77Command Injection
Timeline
Published14 Nov 2024
Updated3 Nov 2026
First seen6 Mar 2026
Track software like this
Free during beta