Improper Input Validation Affecting golang-bin package, versions <0:1.10.6-1.47.amzn1


Severity

Recommended
0.0
high
0
10

Based on Amazon Linux security rating.

Threat Intelligence

EPSS
20.49% (97th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Improper Input Validation vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-AMZN201803-GOLANGBIN-1716531
  • published27 Sept 2021
  • disclosed14 Dec 2018

Introduced: 14 Dec 2018

CVE-2018-16873  (opens in a new tab)
CWE-20  (opens in a new tab)

How to fix?

Upgrade Amazon-Linux:2018.03 golang-bin to version 0:1.10.6-1.47.amzn1 or higher.
This issue was patched in ALAS-2018-1130.

NVD Description

Note: Versions mentioned in the description apply only to the upstream golang-bin package and not the golang-bin package as distributed by Amazon-Linux. See How to fix? for Amazon-Linux:2018.03 relevant fixed versions and status.

In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to remote code execution when executed with the -u flag and the import path of a malicious Go package, or a package that imports it directly or indirectly. Specifically, it is only vulnerable in GOPATH mode, but not in module mode (the distinction is documented at https://golang.org/cmd/go/#hdr-Module_aware_go_get). Using custom domains, it's possible to arrange things so that a Git repository is cloned to a folder named ".git" by using a vanity import path that ends with "/.git". If the Git repository root contains a "HEAD" file, a "config" file, an "objects" directory, a "refs" directory, with some work to ensure the proper ordering of operations, "go get -u" can be tricked into considering the parent directory as a repository root, and running Git commands on it. That will use the "config" file in the original Git repository root for its configuration, and if that config file contains malicious commands, they will execute on the system running "go get -u".

CVSS Scores

version 3.1