blob: 28ede9c118ee9d0d582f11dced544a5e52a01c6d [file] [log] [blame]
id: GO-2022-0476
modules:
- module: cmd
versions:
- fixed: 1.14.12
- introduced: 1.15.0-0
- fixed: 1.15.5
vulnerable_at: 1.15.4
packages:
- package: cmd/go
symbols:
- validCompilerFlags
skip_fix: 'TODO: revisit this reason (cant request explicit version v1.15.4 of standard library package cmd/go)'
summary: Arbitrary code execution via the go command with cgo in cmd/go
description: |-
The go command may execute arbitrary code at build time when cgo is in use. This
may occur when running go get on a malicious package, or any other command that
builds untrusted code.
This can be caused by malicious gcc flags specified via a cgo directive.
published: 2022-07-28T17:24:43Z
credits:
- Imre Rad
references:
- fix: https://go.dev/cl/267277
- fix: https://go.googlesource.com/go/+/da7aa86917811a571e6634b45a457f918b8e6561
- report: https://go.dev/issue/42556
- web: https://groups.google.com/g/golang-announce/c/NpBGTTmKzpM
cve_metadata:
id: CVE-2020-28367
cwe: 'CWE-94: Improper Control of Generation of Code (''Code Injection'')'
description: |-
Code injection in the go command with cgo before Go 1.14.12 and Go 1.15.5 allows
arbitrary code execution at build time via malicious gcc flags specified via a
#cgo directive.
references:
- https://lists.debian.org/debian-lts-announce/2023/04/msg00021.html
review_status: REVIEWED