The go command may execute arbitrary code at build time...
Critical severity
Unreviewed
Published
Jun 8, 2023
to the GitHub Advisory Database
•
Updated Nov 25, 2023
Description
Published by the National Vulnerability Database
Jun 8, 2023
Published to the GitHub Advisory Database
Jun 8, 2023
Last updated
Nov 25, 2023
The go command may execute arbitrary code at build time when using cgo. This may occur when running "go get" on a malicious module, or when running any other command which builds untrusted code. This is can by triggered by linker flags, specified via a "#cgo LDFLAGS" directive. The arguments for a number of flags which are non-optional are incorrectly considered optional, allowing disallowed flags to be smuggled through the LDFLAGS sanitization. This affects usage of both the gc and gccgo compilers.
References