CVE-2023-23939
Azure/setup-kubectl: Escalation of privilege vulnerability for v3 and lower
Em resumo
A ação GitHub Azure/setup-kubectl (versões anteriores à 3) define o binário Kubectl com permissões de arquivo muito permissivas (777), permitindo que qualquer usuário no mesmo executor o substitua por uma versão maliciosa e ganhe privilégios elevados. Isso importa porque um atacante poderia enganar o sistema para executar comandos como root.
Detalhe técnico
Vulnerabilidade CWE-732 onde fs.chmodSync(kubectlPath, 777) cria um binário gravável por qualquer um, permitindo escalação de privilégio local em executores GitHub Actions compartilhados. A exploração requer acesso local ao ambiente do executor; o impacto é execução de comando arbitrário com privilégios do usuário kubectl (tipicamente root). Corrigido em v3+ usando permissões 775.
Resumo gerado e traduzido por IA a partir da descrição oficial.
Azure/setup-kubectl is a GitHub Action for installing Kubectl. This vulnerability only impacts versions before version 3. An insecure temporary creation of a file allows other actors on the Actions runner to replace the Kubectl binary created by this action because it is world writable. This Kubectl tool installer runs `fs.chmodSync(kubectlPath, 777)` to set permissions on the Kubectl binary, however, this allows any local user to replace the Kubectl binary. This allows privilege escalation to the user that can also run kubectl, most likely root. This attack is only possible if an attacker somehow breached the GitHub actions runner or if a user is utilizing an Action that maliciously executes this attack. This has been fixed and released in all versions `v3` and later. 775 permissions are used instead. Users are advised to upgrade. There are no known workarounds for this issue.
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:L