Improper Input Validation Affecting golang-tests package, versions *


Severity

Recommended
medium

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

EPSS
28.79% (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-RHEL7-GOLANGTESTS-4409520
  • published26 Jul 2021
  • disclosed13 Dec 2018

Introduced: 13 Dec 2018

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

How to fix?

There is no fixed version for RHEL:7 golang-tests.

NVD Description

Note: Versions mentioned in the description apply only to the upstream golang-tests package and not the golang-tests package as distributed by RHEL. See How to fix? for RHEL:7 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