#VU12162 Command injection in Go programming language


Published: 2020-03-18 | Updated: 2022-05-27

Vulnerability identifier: #VU12162

Vulnerability risk: Low

CVSSv3.1: 8.8 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P/RL:O/RC:C]

CVE-ID: CVE-2018-6574

CWE-ID: CWE-77

Exploitation vector: Network

Exploit availability: Yes

Vulnerable software:
Go programming language
Universal components / Libraries / Scripting languages

Vendor: Google

Description
The vulnerability allows a remote attacker to execute arbitrary commands on the target system.

The weakness exists due to "go get" remote command execution during source code build, by leveraging the gcc or clang plugin feature, because -fplugin= and -plugin= arguments were not blocked. A remote attacker can execute arbitrary commands.

Mitigation
Update to versions 1.8.7, 1.9.4 or 1.10rc2.

Vulnerable software versions

Go programming language: 1.8 - 1.8.6, 1.9 - 1.9.3, 1.10 rc1


External links
http://groups.google.com/forum/#%21topic/golang-nuts/Gbhh1NxAjMU


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability. However, proof of concept for this vulnerability is available.


Latest bulletins with this vulnerability