CVE-2024-52308
The GitHub CLI version 2.6.1 and earlier are vulnerable to remote code ...
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by GHSA (high), Azure Linux (high), Ubuntu (high).
Description
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.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| Azure Linux 3.0 | gh | 0:2.62.0-1.azl3 |
| chainguard | gh | 2.62.0-r0 |
| debian 12 | gh | no fix listed |
| debian 13 | gh | 2.46.0-2 |
| echo | gh | 2.46.0-2 |
| go::GitHub Security Advisory Go | github.com/cli/cli, github.com/cli/cli/v2 | 2.62.0 |
| rapidfort debian 12 | gh | 0:2.46.0-2 |
| rapidfort debian 13 | gh | 0:2.46.0-2 |
| rapidfort ubuntu 20.04 | gh | 0:2.46.0-1ubuntu0.2 |
| rapidfort ubuntu 22.04 | gh | 0:2.46.0-1ubuntu0.2 |
| rapidfort ubuntu 24.04 | gh | 0:2.46.0-1ubuntu0.2 |
| root.io debian 12 | gh, rootio-gh | 2.23.0+dfsg1-1.root.io.1, 2.23.0+dfsg1-1.root.io.2 |
Show all 17 entries from 15 sources
| Source | Package | Fixed in |
|---|---|---|
| Azure Linux 3.0 | gh | 0:2.62.0-1.azl3 |
| chainguard | gh | 2.62.0-r0 |
| debian 12 | gh | no fix listed |
| debian 13 | gh | 2.46.0-2 |
| echo | gh | 2.46.0-2 |
| go::GitHub Security Advisory Go | github.com/cli/cli | 2.62.0 |
| go::GitHub Security Advisory Go | github.com/cli/cli/v2 | 2.62.0 |
| rapidfort debian 12 | gh | 0:2.46.0-2 |
| rapidfort debian 13 | gh | 0:2.46.0-2 |
| rapidfort ubuntu 20.04 | gh | 0:2.46.0-1ubuntu0.2 |
| rapidfort ubuntu 22.04 | gh | 0:2.46.0-1ubuntu0.2 |
| rapidfort ubuntu 24.04 | gh | 0:2.46.0-1ubuntu0.2 |
| root.io debian 12 | gh | 2.23.0+dfsg1-1.root.io.1, 2.23.0+dfsg1-1.root.io.2 |
| root.io debian 12 | rootio-gh | 2.23.0+dfsg1-1.root.io.1, 2.23.0+dfsg1-1.root.io.2 |
| ubuntu 24.04 | gh | no fix listed |
| ubuntu 24.10 | gh | 2.46.0-1ubuntu0.2 |
| wolfi | gh | 2.62.0-r0 |