DockerCLI/cli/command
Tibor Vass 8d199d5bba Use golang.org/x/sys/execabs
On Windows, the os/exec.{Command,CommandContext,LookPath} functions
resolve command names that have neither path separators nor file extension
(e.g., "git") by first looking in the current working directory before
looking in the PATH environment variable.
Go maintainers intended to match cmd.exe's historical behavior.

However, this is pretty much never the intended behavior and as an abundance of precaution
this patch prevents that when executing commands.
Example of commands that docker.exe may execute: `git`, `docker-buildx` (or other cli plugin), `docker-credential-wincred`, `docker`.

Note that this was prompted by the [Go 1.15.7 security fixes](https://blog.golang.org/path-security), but unlike in `go.exe`,
the windows path lookups in docker are not in a code path allowing remote code execution, thus there is no security impact on docker.

Signed-off-by: Tibor Vass <tibor@docker.com>
2021-01-26 17:18:04 +00:00
..
builder Fix builder prune -a/--all flag description 2020-02-18 14:30:28 +01:00
checkpoint Replace deprecated Cobra command.SetOutput() with command.SetOut() 2020-05-07 14:25:59 +02:00
commands Remove "docker engine" subcommands 2019-12-12 17:51:25 +01:00
config formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
container Ignore SIGURG on Linux. 2021-01-15 19:03:39 +00:00
context formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
formatter formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
idresolver bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
image Use golang.org/x/sys/execabs 2021-01-26 17:18:04 +00:00
inspect bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
manifest Subcommand `docker manifest rm` 2020-09-15 16:26:47 -04:00
network formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
node formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
plugin formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
registry Fix panic when failing to get DefaultAuthConfig 2021-01-07 22:11:29 +01:00
secret formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
service fix --update-order and --rollback-order flags 2021-01-18 22:33:45 +08:00
stack Remove k8s.io/kubernetes dependency 2020-12-04 00:27:40 +01:00
swarm vendor: golang.org/x/crypto c1f2f97bffc9c53fc40a1a28a5b460094c0050d9 2020-12-02 21:01:12 +00:00
system Always enable experimental features 2020-10-02 15:59:42 +02:00
task formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
testdata Dynamically register kubernetes context store endpoint type. 2019-05-20 13:28:11 +01:00
trust formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
volume formatter: reduce minimum width for columns in table-view 2020-08-31 16:31:15 +02:00
cli.go Always enable experimental features 2020-10-02 15:59:42 +02:00
cli_options.go update docker, replace github.com/docker/pkg/term, github.com/docker/pkg/mount 2020-04-22 17:16:13 +02:00
cli_options_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
cli_test.go Always enable experimental features 2020-10-02 15:59:42 +02:00
context.go Don't loose additional metadata fields 2020-06-10 15:07:23 +02:00
context_test.go Don't loose additional metadata fields 2020-06-10 15:07:23 +02:00
defaultcontextstore.go Push check for kubernetes requirement down into the endpoint 2019-05-20 13:28:11 +01:00
defaultcontextstore_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
events_utils.go updated vendoring 2017-09-01 19:41:06 -04:00
orchestrator.go Fast Context Switch: commands 2019-01-10 22:25:43 +01:00
orchestrator_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
registry.go Fix panic when failing to get DefaultAuthConfig 2021-01-07 22:11:29 +01:00
registry_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00
streams.go Extract streams helpers from command package to their own package to remove a cyclic dependency from command to internal/containerizedengine 2019-01-28 14:36:00 +01:00
trust.go Refactor content_trust cli/flags handling 2018-03-08 15:00:43 -05:00
utils.go build: remove PersistentPreRunE hack for experimental --platform 2020-11-16 14:58:11 +01:00
utils_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-23 00:28:55 +01:00