605
VMScore

CVE-2018-16873

Published: 14/12/2018 Updated: 07/11/2023
CVSS v2 Base Score: 6.8 | Impact Score: 6.4 | Exploitability Score: 8.6
CVSS v3 Base Score: 8.1 | Impact Score: 5.9 | Exploitability Score: 2.2
VMScore: 605
Vector: AV:N/AC:M/Au:N/C:P/I:P/A:P

Vulnerability Summary

In Go prior to 1.10.6 and 1.11.x prior to 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 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".

Vulnerability Trend

Vulnerable Product Search on Vulmon Subscribe to Product

golang go

opensuse leap 42.3

opensuse leap 15.0

opensuse leap 15.1

suse linux enterprise server 12

opensuse backports sle 15.0

debian debian linux 9.0

Vendor Advisories

In Go before 1106 and 111x before 1113, 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 http ...
In Go before 1106 and 111x before 1113, 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 http ...
In Go before 1106 and 111x before 1113, 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 http ...

Github Repositories

All the content from my Troopers 19 talk

Troopers 19 This repository contains all the content from the talk I gave at Troopers 19 Abstract Link: wwwtroopersde/troopers19/agenda/e93wet/ Supply-chain attacks have come to the fore recently, with more and more companies moving towards DevOps This talk demonstrates attacks against the software used to manage and download source code and how this affects the who