LiveActive security incident?Get immediate response
CVE Record

CVE-2020-28367: Arbitrary code execution via the go command with cgo in cmd/go

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.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

This flaw lets a malicious Go package trigger arbitrary code execution during a build when cgo is used. The main business risk is compromise of developer workstations or CI pipelines that build untrusted or newly introduced Go code with vulnerable Go toolchains.

Executive priority

Prioritize build infrastructure and engineering endpoints. The issue is not described as remotely exploitable against production services, but build-time code execution can compromise release pipelines and developer credentials.

Technical view

CVE-2020-28367 is code injection in cmd/go’s handling of cgo directives. Before Go 1.14.12 and 1.15.5, malicious gcc flags specified through a #cgo directive could execute code at build time. The issue maps to CWE-94.

Likely exposure

Exposure is most likely in build systems, developer machines, or packaging pipelines using Go versions before 1.14.12 or 1.15.5 and compiling Go code that invokes cgo.

Exploitation context

The source bundle does not identify active exploitation, and KEV is false. Exploitation requires a victim to build malicious Go source or dependency content with cgo under an affected Go toolchain.

Researcher notes

Focus analysis on cmd/go, cgo directive handling, gcc flag validation, and build-time trust boundaries. The provided sources support affected Go versions and the fix references, but do not provide CVSS scoring or evidence of exploitation.

Mitigation direction

  • Upgrade Go toolchains to 1.14.12, 1.15.5, or later supported releases.
  • Patch distribution-provided Go packages using vendor or OS security updates.
  • Avoid building untrusted Go code with cgo on vulnerable toolchains.
  • Review CI images and developer environments for pinned legacy Go versions.
  • Check Go and OS vendor guidance for any backported fixes.

Validation and detection

  • Inventory Go versions in CI runners, containers, build hosts, and developer setup scripts.
  • Confirm build environments use Go 1.14.12, 1.15.5, or a vendor-fixed backport.
  • Identify repositories or dependencies that require cgo during builds.
  • Review recent dependency additions for untrusted Go code built in automation.
  • Verify package-manager security updates are applied where Go comes from the OS.
Prepared
Confidence
high
Sources
8

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · medium confidence lookup

CWE-94: Code execution behavior lookup

Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

Execution behavior lookup

The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2020-28367 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
0Timeline events
0ADP providers
7Source links

CVSS and timeline data

No CVSS vectors or timeline events were available in the normalized CVE source material.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
Go toolchaincmd/gocmd/go, 0, 1.15.0-0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-94 · source CWE mapping

Improper Control of Generation of Code ('Code Injection')

Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.