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.
2018-12-14T14:29:00.427
2024-11-21T03:53:30.140
Modified
CVSSv3.1: 8.1 (HIGH)
AV:N/AC:M/Au:N/C:P/I:P/A:P
8.6
6.4
Type | Vendor | Product | Version/Range | Vulnerable? |
---|---|---|---|---|
Application | golang | go | < 1.10.6 | Yes |
Application | golang | go | < 1.11.3 | Yes |
Application | opensuse | backports_sle | 15.0 | Yes |
Operating System | opensuse | leap | 15.0 | Yes |
Operating System | opensuse | leap | 15.1 | Yes |
Operating System | opensuse | leap | 42.3 | Yes |
Operating System | suse | linux_enterprise_server | 12 | Yes |
Operating System | debian | debian_linux | 9.0 | Yes |