CVE-2018-16873
Last modified
CVE-2018-16873 is a high-severity vulnerability rated 8.1/10 on the CVSS scale. In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to remote code execution when executed with the -u flag and the import path of a malicious Go package, or a package that imports it directly or indirectly. 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). EPSS estimates a 66.25% chance of exploitation in the next 30 days.
Description
In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to remote code execution when executed with the -u flag and the import path of a malicious Go package, or a package that imports it directly or indirectly. 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). Using custom domains, it's possible to arrange things so that a Git repository is cloned to a folder named ".git" by using a vanity import path that ends with "/.git". If the Git repository root contains a "HEAD" file, a "config" file, an "objects" directory, a "refs" directory, with some work to ensure the proper ordering of operations, "go get -u" can be tricked into considering the parent directory as a repository root, and running Git commands on it. That will use the "config" file in the original Git repository root for its configuration, and if that config file contains malicious commands, they will execute on the system running "go get -u".
Metrics
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| 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 |
| Suse | Linux Enterprise Server | 12 |
| Debian | Debian Linux | 9.0 |
References
- http://lists.opensuse.org/opensuse-security-announce/2019-03/msg00044.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00060.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00011.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00015.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00010.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00041.htmlMailing List, Third Party Advisory
- http://www.securityfocus.com/bid/106226Third Party Advisory, VDB Entry
- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-16873Issue Tracking, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2021/03/msg00014.htmlMailing List, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2021/03/msg00015.htmlMailing List, Third Party Advisory
- https://security.gentoo.org/glsa/201812-09Mitigation, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-03/msg00044.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-05/msg00060.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00011.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00015.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00010.htmlMailing List, Third Party Advisory
- http://lists.opensuse.org/opensuse-security-announce/2020-04/msg00041.htmlMailing List, Third Party Advisory
- http://www.securityfocus.com/bid/106226Third Party Advisory, VDB Entry
- https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2018-16873Issue Tracking, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2021/03/msg00014.htmlMailing List, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2021/03/msg00015.htmlMailing List, Third Party Advisory
- https://security.gentoo.org/glsa/201812-09Mitigation, Third Party Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2018-16873?
How severe is CVE-2018-16873?
How do I fix CVE-2018-16873?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2018
- CVE-2018-16867A flaw was found in qemu Media Transfer Protocol (MTP) befor…7.8
- CVE-2018-16868A Bleichenbacher type side-channel based padding oracle atta…5.6
- CVE-2018-16869A Bleichenbacher type side-channel based padding oracle atta…5.7
- CVE-2018-16870It was found that wolfssl before 3.15.7 is vulnerable to a n…
- CVE-2018-16871A flaw was found in the Linux kernel's NFS implementation, a…7.5
- CVE-2018-16872A flaw was found in qemu Media Transfer Protocol (MTP). The …5.3
- CVE-2018-16874In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" c…8.1
- CVE-2018-16875The crypto/x509 package of Go before 1.10.6 and 1.11.x befor…5.9
- CVE-2018-16876ansible before versions 2.5.14, 2.6.11, 2.7.5 is vulnerable …5.3
- CVE-2018-16877A flaw was found in the way pacemaker's client-server authen…7.8
- CVE-2018-16878A flaw was found in pacemaker up to and including version 2.…5.5
- CVE-2018-16879Ansible Tower before version 3.3.3 does not set a secure cha…9.8
Are you affected by CVE-2018-16873?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
