// For flags

CVE-2024-35183

wolfictl leaks GitHub tokens to remote non-GitHub git servers

Severity Score

4.4
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track*
*SSVC
Descriptions

wolfictl is a command line tool for working with Wolfi. A git authentication issue in versions prior to 0.16.10 allows a local user’s GitHub token to be sent to remote servers other than `github.com`. Most git-dependent functionality in wolfictl relies on its own `git` package, which contains centralized logic for implementing interactions with git repositories. Some of this functionality requires authentication in order to access private repositories. A central function `GetGitAuth` looks for a GitHub token in the environment variable `GITHUB_TOKEN` and returns it as an HTTP basic auth object to be used with the `github.com/go-git/go-git/v5` library. Most callers (direct or indirect) of `GetGitAuth` use the token to authenticate to github.com only; however, in some cases callers were passing this authentication without checking that the remote git repository was hosted on github.com. This behavior has existed in one form or another since commit 0d06e1578300327c212dda26a5ab31d09352b9d0 - committed January 25, 2023. This impacts anyone who ran the `wolfictl check update` commands with a Melange configuration that included a `git-checkout` directive step that referenced a git repository not hosted on github.com. This also impacts anyone who ran `wolfictl update <url>` with a remote URL outside of github.com. Additionally, these subcommands must have run with the `GITHUB_TOKEN` environment variable set to a valid GitHub token. Users should upgrade to version 0.16.10 to receive a patch.

wolfictl es una herramienta de línea de comandos para trabajar con Wolfi. Un problema de autenticación de Git en versiones anteriores a la 0.16.10 permite que el token de GitHub de un usuario local se envíe a servidores remotos distintos de `github.com`. La mayor parte de la funcionalidad dependiente de git en wolfictl se basa en su propio paquete `git`, que contiene lógica centralizada para implementar interacciones con repositorios de git. Algunas de estas funciones requieren autenticación para poder acceder a repositorios privados. Una función central `GetGitAuth` busca un token de GitHub en la variable de entorno `GITHUB_TOKEN` y lo devuelve como un objeto de autenticación básica HTTP para usar con la librería `github.com/go-git/go-git/v5`. La mayoría de las personas que llaman (directas o indirectas) a `GetGitAuth` usan el token para autenticarse en github.com únicamente; sin embargo, en algunos casos las personas que llamaban pasaban esta autenticación sin verificar que el repositorio git remoto estuviera alojado en github.com. Este comportamiento ha existido de una forma u otra desde el commit 0d06e1578300327c212dda26a5ab31d09352b9d0, confirmada el 25 de enero de 2023. Esto afecta a cualquiera que haya ejecutado los comandos `wolfictl check update` con una configuración de Melange que incluía un paso de directiva `git-checkout` que hacía referencia a un repositorio de git. no alojado en github.com. Esto también afecta a cualquiera que haya ejecutado `wolfictl update ` con una URL remota fuera de github.com. Además, estos subcomandos deben haberse ejecutado con la variable de entorno `GITHUB_TOKEN` configurada en un token de GitHub válido. Los usuarios deben actualizar a la versión 0.16.10 para recibir un parche.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:Track*
Exploitation
Poc
Automatable
No
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-05-10 CVE Reserved
  • 2024-05-15 CVE Published
  • 2024-05-16 EPSS Updated
  • 2024-08-02 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-552: Files or Directories Accessible to External Parties
  • CWE-668: Exposure of Resource to Wrong Sphere
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Wolfi-dev
Search vendor "Wolfi-dev"
Wolfictl
Search vendor "Wolfi-dev" for product "Wolfictl"
< 0.16.10
Search vendor "Wolfi-dev" for product "Wolfictl" and version " < 0.16.10"
en
Affected