Cloudanix VulnDB

CVE-2024-3817

Critical · 9.8

CVSS

9.8

EPSS

1.3%

Published

Apr 17, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a popular code-downloading library lets attackers run their own commands on systems that use it, potentially giving them full control.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Argument injection into Git commands executed by go-getter when discovering remote branches, enabling arbitrary command execution on the host.

Why it matters to the business

Full system compromise is possible through unauthenticated remote attackers, risking data theft, ransomware deployment, or service disruption in any application or supply chain depending on this library.

How an attack unfolds

An attacker supplies crafted input containing Git argument separators or options that are passed unsafely to the Git binary during remote branch enumeration; the injected arguments cause Git to execute attacker-controlled commands instead of the intended branch lookup.

How to fix it

Upgrade hashicorp/go-getter (GIT) to commit 268c11cae8cf0d9374783e06572679796abe9ce9 or later; the go-getter/v2 package is unaffected.

How to confirm the fix worked

Confirm the go-getter import path resolves to the fixed commit via go list -m or equivalent dependency tooling; re-run any unit tests that exercise Git remote discovery.

Typical attack path

  1. Locate an application or build process that imports vulnerable go-getter and triggers Git-based remote discovery
  2. Craft malicious input containing argument injection payloads targeting the branch discovery code path
  3. Submit the input via network request, configuration, or dependency URL
  4. Trigger the vulnerable code path so the injected arguments reach the Git executable
  5. Achieve arbitrary command execution with the privileges of the go-getter process

How to detect it

Review application and build logs for Git invocations containing unexpected flags, semicolons, or redirection characters; inspect process creation events around go-getter usage for anomalous child processes.

What your security team should do

  • Immediately update all direct and transitive dependencies on hashicorp/go-getter to the fixed commit
  • Audit build pipelines and applications that perform Git operations via go-getter for exposure
  • Add dependency pinning and automated scanning to prevent future vulnerable versions
  • Monitor process execution logs for unexpected Git arguments or child processes spawned during branch discovery

The record

HashiCorp’s go-getter library is vulnerable to argument injection when executing Git to discover remote branches. This vulnerability does not affect the go-getter/v2 branch and package.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/hashicorp/go-getter 1.5.9 1.7.4
Chainguard conftest 0 0.52.0-r0
Chainguard conftest-fips 0 0.52.0-r0
Chainguard k9s 0 0.32.4-r3
Chainguard kubescape 0 3.0.9-r0
Chainguard opentofu 0 1.7.0-r0
Chainguard opentofu-compat 0 1.7.0-r0
Chainguard opentofu-local-provider-config 0 1.7.0-r0
Chainguard terraform 0 1.5.7-r8
Chainguard terraform-compat 0 1.5.7-r8
Chainguard terraform-fips-1.5 0 1.5.7-r9
Chainguard terraform-fips-1.5-compat 0 1.5.7-r9
Chainguard terraform-fips-1.5-local-provider-config 0 1.5.7-r9
Chainguard terraform-local-provider-config 0 1.5.7-r8
Chainguard tflint 0 0.51.0-r0
Chainguard tflint-compat 0 0.51.0-r0
Chainguard tfsec 0 1.28.5-r3
Chainguard zarf 0 0.33.1-r1
Chainguard zot 0 2.0.4-r0
Debian:11 golang-github-hashicorp-go-getter 0 No fix
Debian:12 golang-github-hashicorp-go-getter 0 No fix
Debian:13 golang-github-hashicorp-go-getter 0 No fix
SUSE:Package Hub 15 SP6 trivy 0 0.58.2-bp156.2.6.1
Ubuntu:18.04:LTS golang-github-hashicorp-go-getter 0 No fix
Ubuntu:20.04:LTS golang-github-hashicorp-go-getter 0 No fix
Ubuntu:20.04:LTS golang-github-jesseduffield-go-getter 0 No fix
Ubuntu:22.04:LTS golang-github-hashicorp-go-getter 0 No fix
Ubuntu:22.04:LTS golang-github-jesseduffield-go-getter 0 No fix
Ubuntu:24.04:LTS golang-github-hashicorp-go-getter 0 No fix
Ubuntu:24.04:LTS golang-github-jesseduffield-go-getter 0 No fix
Ubuntu:24.10 golang-github-hashicorp-go-getter 0 No fix
Ubuntu:24.10 golang-github-jesseduffield-go-getter 0 No fix
Ubuntu:25.04 golang-github-hashicorp-go-getter 0 No fix
Ubuntu:25.10 golang-github-hashicorp-go-getter 0 No fix
Ubuntu:Pro:18.04:LTS golang-github-hashicorp-go-getter 0 No fix
Ubuntu:Pro:20.04:LTS golang-github-hashicorp-go-getter 0 No fix
Ubuntu:Pro:20.04:LTS golang-github-jesseduffield-go-getter 0 No fix
Wolfi conftest 0 0.52.0-r0
Wolfi k9s 0 0.32.4-r3
Wolfi kubescape 0 3.0.9-r0
Wolfi opentofu 0 1.7.0-r0
Wolfi opentofu-compat 0 1.7.0-r0
Wolfi opentofu-local-provider-config 0 1.7.0-r0
Wolfi terraform 0 1.5.7-r8
Wolfi terraform-compat 0 1.5.7-r8
Wolfi terraform-local-provider-config 0 1.5.7-r8
Wolfi tflint 0 0.51.0-r0
Wolfi tflint-compat 0 0.51.0-r0
Wolfi tfsec 0 1.28.5-r3
Wolfi zarf 0 0.33.1-r1
Wolfi zot 0 2.0.4-r0
go github.com/hashicorp/go-getter 1.5.9 1.7.4
openSUSE:Leap 15.6 trivy 0 0.58.2-bp156.2.6.1
openSUSE:Leap 16.0 trivy 0 0.66.0-bp160.1.1
openSUSE:Tumbleweed trivy 0 0.58.2-1.1

Related vulnerabilities