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-Moduleawarego_get). The attacker can cause an arbitrary filesystem write, which can lead to code execution.
{
"binaries": [
{
"binary_version": "1.8.3-2ubuntu1.18.04.1",
"binary_name": "golang-1.8"
},
{
"binary_version": "1.8.3-2ubuntu1.18.04.1",
"binary_name": "golang-1.8-go"
},
{
"binary_version": "1.8.3-2ubuntu1.18.04.1",
"binary_name": "golang-1.8-go-shared-dev"
},
{
"binary_version": "1.8.3-2ubuntu1.18.04.1",
"binary_name": "golang-1.8-src"
},
{
"binary_version": "1.8.3-2ubuntu1.18.04.1",
"binary_name": "libgolang-1.8-std1"
}
]
}