Source: gh
Version: 2.46.0-1
Severity: grave
Tags: security upstream
Justification: user security hole
X-Debbugs-Cc: car...@debian.org, Debian Security Team <t...@security.debian.org>

Hi,

The following vulnerability was published for gh.

CVE-2024-52308[0]:
| 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/b
| lob/30066b0042d0c5928d959e288144300cb28196c9/internal/codespaces/rpc
| /inv... https://github.com/cli/cli/blob/30066b0042d0c5928d959e288144
| 300cb28196c9/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/p
| kg/cmd/codespace/ssh.go#L2... https://github.com/cli/cli/blob/e356c6
| 9a6f0125cfaac782c35acf77314f18908d/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.


If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2024-52308
    https://www.cve.org/CVERecord?id=CVE-2024-52308
[1] https://github.com/cli/cli/security/advisories/GHSA-p2h2-3vg9-4p87

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

Reply via email to