CVE-2024-54132: Downloading malicious GitHub Actions workflow artifact results in path traversal vulnerability
6.3
CVSS Score
4.0
Basic Information
CVE ID
GHSA ID
EPSS Score
0.26678%
CWE
Published
12/4/2024
Updated
12/4/2024
KEV Status
No
Technology
Go
Technical Details
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Green
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
github.com/cli/cli/v2 | go | < 2.63.1 | 2.63.1 |
github.com/cli/cli | go | <= 1.14.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from two key issues: 1) In download.go
, the runDownload()
function combined user-controlled artifact names with target directories without sufficient validation, particularly dangerous when artifact names contained '..'. 2) The original filepathDescendsFrom()
function in zip.go
had inadequate path traversal detection. The commit added critical checks in both locations - a new path validation guard clause in runDownload()
and improved relative path calculation in filepathDescendsFrom()
. The test cases in download_test.go
specifically demonstrate handling of '..' artifact names, confirming these were the vulnerable points.