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 | Vendor | Product | Affected 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.
References
- https://pkg.go.dev/vuln/GO-2024-3269
- https://github.com/advisories/GHSA-p2h2-3vg9-4p87
- https://security-tracker.debian.org/tracker/CVE-2024-52308 Vendor Advisory
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/52xxx/CVE-2024-52308... Vendor Advisory
- https://github.com/cli/cli/security/advisories/GHSA-p2h2-3vg9-4p87 Vendor Advisory
- https://nvd.nist.gov/vuln/detail/CVE-2024-52308 Vendor Advisory
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
Type
CWE-77Command Injection
Timeline
Published14 Nov 2024
Updated3 Nov 2026
First seen6 Mar 2026
Sources
GHSA-p2h2-3vg9-4p87 · GHSA
CVE-2024-52308 · NVD
DEBIAN-CVE-2024-52308 · OSV
CVE-2024-52308 · OSV
Track software like this
Free during beta