]> Cypherpunks.ru repositories - gostls13.git/commit
all: introduce and use internal/execabs
authorRoland Shoemaker <roland@golang.org>
Fri, 15 Jan 2021 20:14:06 +0000 (12:14 -0800)
committerRoland Shoemaker <roland@golang.org>
Thu, 21 Jan 2021 19:10:18 +0000 (19:10 +0000)
commit953d1feca9b21af075ad5fc8a3dad096d3ccc3a0
tree1ff369f7be4e70f816db745bc2b4cc465c9b4f96
parentb186e4d70de28697d1ad7e3c31625793e6338ef0
all: introduce and use internal/execabs

Introduces a wrapper around os/exec, internal/execabs, for use in
all commands. This wrapper prevents exec.LookPath and exec.Command from
running executables in the current directory.

All imports of os/exec in non-test files in cmd/ are replaced with
imports of internal/execabs.

This issue was reported by RyotaK.

Fixes CVE-2021-3115
Fixes #43783

Change-Id: I0423451a6e27ec1e1d6f3fe929ab1ef69145c08f
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/955304
Reviewed-by: Russ Cox <rsc@google.com>
Reviewed-by: Katie Hockman <katiehockman@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/284783
Run-TryBot: Roland Shoemaker <roland@golang.org>
Reviewed-by: Katie Hockman <katie@golang.org>
Trust: Roland Shoemaker <roland@golang.org>
40 files changed:
src/cmd/api/goapi.go
src/cmd/api/run.go
src/cmd/cgo/out.go
src/cmd/cgo/util.go
src/cmd/compile/internal/ssa/html.go
src/cmd/cover/func.go
src/cmd/cover/testdata/toolexec.go
src/cmd/dist/buildtool.go
src/cmd/doc/dirs.go
src/cmd/fix/typecheck.go
src/cmd/go/internal/base/base.go
src/cmd/go/internal/bug/bug.go
src/cmd/go/internal/generate/generate.go
src/cmd/go/internal/modfetch/codehost/codehost.go
src/cmd/go/internal/modfetch/codehost/git.go
src/cmd/go/internal/test/genflags.go
src/cmd/go/internal/test/test.go
src/cmd/go/internal/tool/tool.go
src/cmd/go/internal/vcs/vcs.go
src/cmd/go/internal/vet/vetflag.go
src/cmd/go/internal/work/build.go
src/cmd/go/internal/work/buildid.go
src/cmd/go/internal/work/exec.go
src/cmd/go/internal/work/gccgo.go
src/cmd/go/testdata/addmod.go
src/cmd/internal/browser/browser.go
src/cmd/internal/diff/diff.go
src/cmd/internal/dwarf/dwarf.go
src/cmd/internal/pkgpath/pkgpath.go
src/cmd/link/internal/ld/execarchive.go
src/cmd/link/internal/ld/lib.go
src/cmd/test2json/main.go
src/cmd/trace/pprof.go
src/go/build/build.go
src/go/build/deps_test.go
src/go/internal/gccgoimporter/gccgoinstallation.go
src/go/internal/srcimporter/srcimporter.go
src/internal/execabs/execabs.go [new file with mode: 0644]
src/internal/execabs/execabs_test.go [new file with mode: 0644]
src/internal/goroot/gc.go