Path Traversal in Golang Go

CVE-2018-16874

In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to directory traversal when executed with the import path of a malicious Go package which contains curly braces (both '{' and '}' characters). 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). The attacker can cause an arbitrary filesystem write, which can lead to code execution.

Vulnerability class: Drupalgeddon 2 (CVE-2018-7600)

EPSS: 0.050 (91.4th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 8.1 (High). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.

Affected products

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2018-16874?
CVE-2018-16874 is a high-severity vulnerability in Golang Go, classified under Improper Input Validation. CVSS score: 8.1/10. Published 2018-12-14.
How severe is CVE-2018-16874?
High severity. CVSS v3 base score is 8.1 out of 10.
Is CVE-2018-16874 known to be exploited?
1 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.