2024-12-15 03:03:56 +00:00

101 lines
6.4 KiB
JSON

{
"id": "CVE-2024-52308",
"sourceIdentifier": "security-advisories@github.com",
"published": "2024-11-14T23:15:05.727",
"lastModified": "2024-11-20T15:07:43.127",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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.\n\nDevelopers 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.\n\nThis 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.\n\nIn `2.62.0`, the remote username information is being validated before being used."
},
{
"lang": "es",
"value": "La versi\u00f3n 2.6.1 y anteriores de la CLI de GitHub son vulnerables a la ejecuci\u00f3n remota de c\u00f3digo a trav\u00e9s de un servidor SSH de codespace malicioso cuando se usan los comandos `gh codespace ssh` o `gh codespace logs`. Esto se ha corregido en la CLI v2.62.0. Los desarrolladores se conectan a codespaces remotos a trav\u00e9s de un servidor SSH que se ejecuta dentro del devcontainer, que generalmente se proporciona a trav\u00e9s de la [imagen predeterminada de 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 [recupera detalles de conexi\u00f3n 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 ), como el nombre de usuario remoto, que se utiliza al [ejecutar comandos `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 ) para los comandos `gh codespace ssh` o `gh codespace logs`. Esta vulnerabilidad se produce cuando un contenedor de desarrollo malintencionado de terceros contiene un servidor SSH modificado que inyecta argumentos `ssh` dentro de los detalles de la conexi\u00f3n SSH. Los comandos `gh codespace ssh` y `gh codespace logs` podr\u00edan ejecutar c\u00f3digo arbitrario en la estaci\u00f3n de trabajo del usuario si el nombre de usuario remoto contiene algo como `-oProxyCommand=\"echo hacked\" #`. El indicador `-oProxyCommand` hace que `ssh` ejecute el comando proporcionado mientras que el comentario de shell `#` hace que se ignoren todos los dem\u00e1s argumentos de `ssh`. En `2.62.0`, la informaci\u00f3n del nombre de usuario remoto se valida antes de usarse."
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "security-advisories@github.com",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H",
"baseScore": 8.0,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "LOW",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.3,
"impactScore": 6.0
},
{
"source": "nvd@nist.gov",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H",
"baseScore": 9.6,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.8,
"impactScore": 6.0
}
]
},
"weaknesses": [
{
"source": "security-advisories@github.com",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "CWE-77"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:github:cli:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.62.0",
"matchCriteriaId": "745C1C41-D49C-4B7F-94F5-24A44BCCCFF5"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/cli/cli/security/advisories/GHSA-p2h2-3vg9-4p87",
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
]
}
]
}