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 a malicious gcc flags specified via a #cgo directive. References: https://groups.google.com/g/golang-announce/c/NpBGTTmKzpM/m/fLguyiM2CAAJ https://github.com/golang/go/issues/42556
Created golang tracking bugs for this issue: Affects: epel-all [bug 1897648] Affects: fedora-all [bug 1897647]
External References: https://groups.google.com/g/golang-announce/c/NpBGTTmKzpM/m/fLguyiM2CAAJ
Upstream fix: https://github.com/golang/go/commit/da7aa86917811a571e6634b45a457f918b8e6561
Mitigation: If it's possible to confirm that the go project being built does not rely on any cgo code in the included dependencies, the env variable CGO_ENABLED=0 can be specified when using either `go get` or `go build`. For example: CGO_ENABLED=0 go get github.com/someproject This will not stop the files being downloaded, but will stop any automatic complication of the cgo code, including inlined in the go file and separate .c files. Of course this will only be effective if cgo is not relied upon in a given dependency and may not be appropriate in all scenarios.
This issue has been addressed in the following products: Red Hat Developer Tools Via RHSA-2020:5333 https://access.redhat.com/errata/RHSA-2020:5333
Statement: While OpenShift Container Platform (OCP), Red Hat OpenShift Jaeger (RHOSJ), OpenShift Service Mesh (OSSM) and OpenShift Virtualization all contain RPMs and containers which are compiled with a vulnerable version of Go, the vulnerability is specific to the building of Go code itself. Such as using `go get` or `go build` and as such the relevant components have been marked as not affected. Additionally, only the main RPMs and containers for OCP, RHOSJ, OSSM and OpenShift Virtualization are represented due to the large volume of not affected components. Red Hat Ceph Storage 3 ships the vulnerable version of go, and an attacker building go code on RHCS 3 could potentially exploit this vulnerability.
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2020:5493 https://access.redhat.com/errata/RHSA-2020:5493
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2020-28367
This issue has been addressed in the following products: Openshift Serverless 1 on RHEL 8 Via RHSA-2021:0145 https://access.redhat.com/errata/RHSA-2021:0145
This issue has been addressed in the following products: Openshift Serveless 1.12 Via RHSA-2021:0146 https://access.redhat.com/errata/RHSA-2021:0146