What’s Vulnerable › Vulnerabilities
CVE-2018-16874
- Severity: high (CVSS 8.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 5.0% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2018-12-14 · updated 2026-06-17
- Weakness: CWE-20
Description
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.
Affected products
- Debian Linux: 9.0
- Go: before 1.10.6; from 1.11.0 before 1.11.3 — fixed in 1.10.6, 1.11.3
- openSUSE Backports Sle: 15.0
- openSUSE Leap: 15.0, 15.1, 42.3
- SUSE Linux Enterprise Server: 12
How to fix
Upgrade to a fixed version: Go 1.10.6, 1.11.3. Check the vendor advisory for mitigations.
References
- http://lists.opensuse.org/opensuse-security-announce/2019-03/msg00044.html
- http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00060.html
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00011.html
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00015.html
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00010.html
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00041.html
- http://www.securityfocus.com/bid/106228
- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-16874
- https://groups.google.com/forum/?pli=1#%21topic/golang-announce/Kw31K8G7Fi0
- https://lists.debian.org/debian-lts-announce/2021/03/msg00014.html
- https://lists.debian.org/debian-lts-announce/2021/03/msg00015.html
- https://security.gentoo.org/glsa/201812-09
Get alerted when CVE-2018-16874 or the next vulnerability affects your stack