CVE-2017-15041
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom...
CVE-2017-15041 is a critical vulnerability (CVSS 9.8) in Golang Go, published October 5, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 8.94%, the 95th percentile. Fixed in golang 2:1.0.2-1.1+deb7u2.
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
- Record
CVE-2017-15041- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Updated
- 2026-11-02
CVE List No score
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
- Record
CVE-2017-15041- Updated
- 2026-11-02
EUVDEUVD-2017-6516 No score
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
- Record
EUVD-2017-6516- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-2w49-qg9p-7jxx
9.8
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom...
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
- Record
GHSA-2w49-qg9p-7jxx- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
9.8
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
- Record
CVE-2017-15041- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2017:3463
7.5
Red Hat Security Advisory: go-toolset-7 and go-toolset-7-golang security and bug fix update
- Record
RHSA-2017:3463- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSVRHSA-2018:0878
7.5
Red Hat Security Advisory: golang security, bug fix, and enhancement update
- Record
RHSA-2018:0878- CVSS 3.0
- 7.5 High
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2017-15041
9.8
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get."
- Record
UBUNTU-CVE-2017-15041- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGO-2022-0177 No score
Remote command execution via "go get" in cmd/go
The "go get" command allows remote command execution.
Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get".
- Record
GO-2022-0177- Updated
- 2026-11-02
OSVMGASA-2018-0089 No score
Updated golang packages fix security vulnerabilities
An arbitrary command execution flaw was found in the way Go's "go get" command handled the checkout of source code repositories. A remote attacker capable of hosting malicious repositories could potentially use this flaw to cause arbitrary command execution on the client side (CVE-2017-15041).
It was found that smtp.PlainAuth authentication scheme in Go did not verify the TLS requirement properly. A remote man-in-the-middle attacker could potentially use this flaw to sniff SMTP credentials sent by a Go application (CVE-2017-15042).
- Record
MGASA-2018-0089- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10802-1 No score
go-1.17-1.1 on GA media
These are all security issues fixed in the go-1.17-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10802-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10803-1 No score
go1.10-1.10.8-8.2 on GA media
These are all security issues fixed in the go1.10-1.10.8-8.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10803-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10804-1 No score
go1.11-1.11.13-10.5 on GA media
These are all security issues fixed in the go1.11-1.11.13-10.5 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10804-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10805-1 No score
go1.12-1.12.17-4.8 on GA media
These are all security issues fixed in the go1.12-1.12.17-4.8 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10805-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10811-1 No score
go1.4-1.4.3-12.2 on GA media
These are all security issues fixed in the go1.4-1.4.3-12.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10811-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10812-1 No score
go1.9-1.9.7-11.2 on GA media
These are all security issues fixed in the go1.9-1.9.7-11.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10812-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
golangDebian:7 |
before 2:1.0.2-1.1+deb7u2, plus listed versions 2:1.0.2-1.12:1.0.2-1.1+deb7u1 |
2:1.0.2-1.1+deb7u2 |
golang-1.7Debian:9 |
before 1.7.4-2+deb9u3, plus listed versions 1.7.4-21.7.4-2+deb9u11.7.4-2+deb9u2 |
1.7.4-2+deb9u3 |
golang-1.8Debian:9 |
before 1.8.1-1+deb9u3, plus listed versions 1.8.1-11.8.1-1+deb9u11.8.1-1+deb9u2 |
1.8.1-1+deb9u3 |
toolchainGo |
before 1.8.4, 1.9.0-0 up to 1.9.1 | 1.8.41.9.1 |
golangMageia:6 |
before 1.9.1-1.mga6 | 1.9.1-1.mga6 |
go-toolset-7Red Hat:devtools:2::el7 |
before 0:1.8-10.el7 | 0:1.8-10.el7 |
go-toolset-7-buildRed Hat:devtools:2::el7 |
before 0:1.8-10.el7 | 0:1.8-10.el7 |
go-toolset-7-dockerfilesRed Hat:devtools:2::el7 |
before 0:1.8-10.el7 | 0:1.8-10.el7 |
go-toolset-7-golangRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
go-toolset-7-golang-binRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
Show 21 moreShow less
| Package | Affected | Fixed |
|---|---|---|
go-toolset-7-golang-docsRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
go-toolset-7-golang-miscRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
go-toolset-7-golang-raceRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
go-toolset-7-golang-srcRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
go-toolset-7-golang-testsRed Hat:devtools:2::el7 |
before 0:1.8.5-1.el7 | 0:1.8.5-1.el7 |
go-toolset-7-runtimeRed Hat:devtools:2::el7 |
before 0:1.8-10.el7 | 0:1.8-10.el7 |
go-toolset-7-scldevelRed Hat:devtools:2::el7 |
before 0:1.8-10.el7 | 0:1.8-10.el7 |
golangRed Hat:enterprise_linux:7::server |
before 0:1.9.4-1.el7 | 0:1.9.4-1.el7 |
golang-binRed Hat:enterprise_linux:7::server |
before 0:1.9.4-1.el7 | 0:1.9.4-1.el7 |
golang-docsRed Hat:enterprise_linux:7::server |
before 0:1.9.4-1.el7 | 0:1.9.4-1.el7 |
golang-miscRed Hat:enterprise_linux:7::server |
before 0:1.9.4-1.el7 | 0:1.9.4-1.el7 |
golang-srcRed Hat:enterprise_linux:7::server |
before 0:1.9.4-1.el7 | 0:1.9.4-1.el7 |
golang-testsRed Hat:enterprise_linux:7::server |
before 0:1.9.4-1.el7 | 0:1.9.4-1.el7 |
golang-1.6Ubuntu:16.04:LTS |
All versions, plus listed versions 1.6-0ubuntu11.6-0ubuntu21.6-0ubuntu31.6-0ubuntu41.6-0ubuntu5 Show 5 moreShow less1.6.1-0ubuntu11.6.2-0ubuntu5~16.041.6.2-0ubuntu5~16.04.21.6.2-0ubuntu5~16.04.31.6.2-0ubuntu5~16.04.4 |
None known |
golang-1.8Ubuntu:18.04:LTS |
All versions, plus listed versions 1.8.3-2ubuntu11.8.3-2ubuntu1.18.04.1 |
None known |
goopenSUSE:Tumbleweed |
before 1.17-1.1 | 1.17-1.1 |
go1.10openSUSE:Tumbleweed |
before 1.10.8-8.2 | 1.10.8-8.2 |
go1.11openSUSE:Tumbleweed |
before 1.11.13-10.5 | 1.11.13-10.5 |
go1.12openSUSE:Tumbleweed |
before 1.12.17-4.8 | 1.12.17-4.8 |
go1.4openSUSE:Tumbleweed |
before 1.4.3-12.2 | 1.4.3-12.2 |
go1.9openSUSE:Tumbleweed |
before 1.9.7-11.2 | 1.9.7-11.2 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
access.redhat.com/errata/RHSA-2017:3463
access.redhat.com/errata/RHSA-2018:0878
golang.org/cl/68190
securityfocus.com/bid/101196
golang.org/cl/68022
security.gentoo.org/glsa/201710-23
Show 48 moreShow less
groups.google.com/d/msg/golang-dev/RinSE3EiJBI/kYL7zb07AgAJ
github.com/golang/go/issues/22125
lists.debian.org/debian-lts-announce/2021/03/msg00014.html
lists.debian.org/debian-lts-announce/2021/03/msg00015.html
nvd.nist.gov/vuln/detail/CVE-2017-15041
github.com/advisories/GHSA-2w49-qg9p-7jxx
go.dev/cl/68110
go.googlesource.com/go/+/ec71ee078fd3243b78c0d404c8634bd97e38d7eb
go.dev/issue/22125
groups.google.com/g/golang-dev/c/RinSE3EiJBI/m/kYL7zb07AgAJ
advisories.mageia.org/MGASA-2018-0089.html
bugs.mageia.org/show_bug.cgi?id=21857
lists.fedoraproject.org/archives/list/[email protected]/thread/AHH5B4WHCPTVEM6APRVXRWLFOR325CCD
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=1498867
bugzilla.redhat.com/show_bug.cgi?id=1498870
security.access.redhat.com/data/csaf/v2/advisories/2017/rhsa-2017_3463.json
access.redhat.com/security/cve/CVE-2017-15041
cve.org/CVERecord?id=CVE-2017-15041
access.redhat.com/security/cve/CVE-2017-15042
cve.org/CVERecord?id=CVE-2017-15042
nvd.nist.gov/vuln/detail/CVE-2017-15042
access.redhat.com/documentation/en-US/red_hat_enterprise_linux/7/html/7.5_release_notes/index.html
bugzilla.redhat.com/show_bug.cgi?id=1543561
security.access.redhat.com/data/csaf/v2/advisories/2018/rhsa-2018_0878.json
access.redhat.com/security/cve/CVE-2018-6574
cve.org/CVERecord?id=CVE-2018-6574
nvd.nist.gov/vuln/detail/CVE-2018-6574
ubuntu.com/security/CVE-2017-15041
suse.com/security/cve/CVE-2016-5386
suse.com/security/cve/CVE-2017-15041
suse.com/security/cve/CVE-2017-15042
suse.com/security/cve/CVE-2017-8932
suse.com/security/cve/CVE-2018-16873
suse.com/security/cve/CVE-2018-16874
suse.com/security/cve/CVE-2018-16875
suse.com/security/cve/CVE-2018-6574
suse.com/security/cve/CVE-2018-7187
suse.com/security/cve/CVE-2019-6486
suse.com/security/cve/CVE-2014-7189
suse.com/security/cve/CVE-2015-8618
suse.com/security/cve/CVE-2016-3959
suse.com/security/cve/CVE-2019-14809
suse.com/security/cve/CVE-2019-9512
suse.com/security/cve/CVE-2019-9514
suse.com/security/cve/CVE-2019-11888
suse.com/security/cve/CVE-2019-16276
suse.com/security/cve/CVE-2019-17596