GitHub Advisoryadvisory · Go

GHSA-2m9h-r57g-45pj Downloading malicious GitHub Actions workflow artifact results in path traversal vulnerability

MEDIUM Published 2024-12-04 Modified 2024-12-04 Official page ↗
Aliases
CVE-2024-54132
Ecosystem
Go
Packages
github.com/cli/cli/v2, github.com/cli/cli
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/U:Green
Weaknesses
CWE-22
Reviewed
2024-12-04

Affected packages

• Go github.com/cli/cli/v2: < 2.63.1 → fixed in 2.63.1 • Go github.com/cli/cli: <= 1.14.0 (no fix yet)

Description

Summary A security vulnerability has been identified in GitHub CLI that could create or overwrite files in unintended directories when users download a malicious GitHub Actions workflow artifact through `gh run download`. Details This vulnerability stems from a GitHub Actions workflow artifact named `..` when downloaded using `gh run download`. The artifact name and `--dir` flag are used to determine the artifact’s download path. When the artifact is named `..`, the resulting files within the artifact are extracted exactly 1 directory higher than the specified `--dir` flag value. In `2.63.1`, `gh run download` will not download artifacts named `..` and `.` and instead exit with the following error message: ``` error downloading ..: would result in path traversal ``` Impact Successful exploitation heightens the risk of local path traversal attack vectors exactly 1 directory higher than intended. Remediation and Mitigation 1. Upgrade `gh` to `2.63.1` 2. Implement additional validation to ensure artifact filenames do not contain potentially dangerous patterns, such as `..`, to prevent path traversal risks.

Related

Alias · CVE (1)

  • CVE-2024-54132 The GitHub CLI is GitHub’s official command line tool. vulnerability

Weakness · CWE (1)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness

References