blob: 491e686a713277464af8effffb49752850528b78 [file] [log] [blame]
id: GO-2022-0177
modules:
- module: cmd
versions:
- fixed: 1.8.4
- introduced: 1.9.0-0
fixed: 1.9.1
vulnerable_at: 1.9.0
packages:
- package: cmd/go
skip_fix: 'TODO: revisit this reason (cant request explicit version of standard library package cmd/go)'
summary: Remote command execution via "go get" in cmd/go
description: |-
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".
published: 2022-08-09T17:31:35Z
cves:
- CVE-2017-15041
credits:
- Simon Rawet
references:
- fix: https://go.dev/cl/68110
- fix: https://go.googlesource.com/go/+/ec71ee078fd3243b78c0d404c8634bd97e38d7eb
- report: https://go.dev/issue/22125
- web: https://groups.google.com/g/golang-dev/c/RinSE3EiJBI/m/kYL7zb07AgAJ