CVE-2018-16874
14.12.2018, 14:29
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.
Vendor | Product | Version |
---|---|---|
golang | go | 𝑥 < 1.10.6 |
golang | go | 1.11.0 ≤ 𝑥 < 1.11.3 |
opensuse | backports_sle | 15.0 |
opensuse | leap | 15.0 |
opensuse | leap | 15.1 |
opensuse | leap | 42.3 |
debian | debian_linux | 9.0 |
𝑥
= Vulnerable software versions

Ubuntu Releases
Ubuntu Product | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
golang |
| ||||||||||||||||||||||||||||||
golang-1.10 |
| ||||||||||||||||||||||||||||||
golang-1.11 |
| ||||||||||||||||||||||||||||||
golang-1.6 |
| ||||||||||||||||||||||||||||||
golang-1.7 |
| ||||||||||||||||||||||||||||||
golang-1.8 |
| ||||||||||||||||||||||||||||||
golang-1.9 |
|
Common Weakness Enumeration
- CWE-20 - Improper Input ValidationThe product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
- CWE-22 - Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
References