For the English version of this alert, click here.
Allele Security Alert
ASA-2018-00074
Identificador(es)
ASA-2018-00074, CVE-2018-16873
Título
Execução remota de código durante “go get -u”
Fabricante(s)
The Go Authors
Produto(s)
Go
Versão(ões) afetada(s)
Go anterior às versões 1.11.3 e 1.10.6
Versão(ões) corrigida(s)
Go 1.11.3
Go 1.10.6
Prova de conceito
Desconhecido
Descrição
O comando “go get” é vulnerável à execução remota de código quando executado com a flag -u e o caminho de importação de um pacote Go malicioso, ou um pacote que o importe direta ou indiretamente. Especificamente, é apenas vulnerável no modo GOPATH, mas não no modo de módulo. Usando domínios personalizados, é possível organizar as coisas para que um repositório Git seja clonado em uma pasta chamada .git usando um caminho de importação que termina com “/.git”. Se a raiz do repositório Git contém um arquivo HEAD, um arquivo de configuração, um diretório de objetos, um diretório refs, com algum trabalho para garantir a ordenação adequada das operações, “go get -u” pode ser induzido a considerar o diretório pai como um repositório root e executando comandos do Git nele. Isso irá usar o arquivo de configuração na raiz do repositório Git original para sua configuração, e se esse arquivo de configuração contiver comandos maliciosos, eles serão executados no sistema através do comando “go get -u”.
Detalhes técnicos
Desconhecido
Créditos
Etienne Stalmans (Heroku platform security team)
Referência(s)
Go security releases 1.11.3 and 1.10.6
https://seclists.org/oss-sec/2018/q4/254
cmd/go: remote command execution during “go get -u” #29230
https://github.com/golang/go/issues/29230
[release-branch.go1.11-security] cmd/go: reject ‘get’ of paths containing leading dots or unsupported characters
https://github.com/golang/go/commit/8954addb3294a5e664a9833354bafa58f163fe8f
[release-branch.go1.11-security] cmd/go/internal/get: reject Windows shortnames as path components
https://github.com/golang/go/commit/5aedc8af94c0a8ffc58cbd09993192dea9b238db
[release-branch.go1.10-security] cmd/go: reject ‘get’ of paths containing leading dots or unsupported characters
https://github.com/golang/go/commit/90d609ba6156299642d08afc06d85ab770a03972
[release-branch.go1.10-security] cmd/go/internal/get: reject Windows shortnames as path components
https://github.com/golang/go/commit/7ef6ee2c5727f0d11206b4d1866c18e6ab4785be
CVE-2018-16873
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16873
CVE-2018-16873
https://nvd.nist.gov/vuln/detail/CVE-2018-16873
Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.
Última modificação: 11 fevereiro 2019