CVE-2023-29405
Golang Go ≤ 1.19.10
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.
Summary
CVE-2023-29405 is a critical-severity Injection (CWE-74) vulnerability in Golang Go. Its CVSS base score is 9.8 (Critical).
Operationally, ranked in the top 23% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-32976
Vulnerability Data
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…
more
linker flags, specified via a "#cgo LDFLAGS" directive. Flags containing embedded spaces are mishandled, allowing disallowed flags to be smuggled through the LDFLAGS sanitization by including them in the argument of another flag. This only affects usage of the gccgo compiler.
- CWE(s)
Related Threats
CVEs Like This One
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Developer assessments and testing (including injection-focused techniques) identify improper neutralization of special elements, and the verifiable flaw remediation corrects them pre-deployment.
Identifies indicators of injection attacks (command, SQL, LDAP, etc.) via anomaly and attack monitoring.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Logging supports detection of injection attempts but does not prevent the weakness.
Monitoring activities can identify active injection attacks after they occur.
A.8.25 mandates a secure SDLC process that includes secure coding guidelines, security requirements, checkpoints, testing (scans/penetration), and developer training to reduce injection flaws, but does not itself enforce or guarantee neutralization of special elements at runtime.
Application security requirements explicitly call for controls against injection attacks in software design.
A.8.27 mandates security-by-design principles (including distrust external input, data validation/sanitization, secure architecture layers, and design reviews against attack patterns) that reach injection when applied to output construction; this stops exploitation for a minority slice (e.g. where principles drive sanitization) but leaves most code-level injection defects untouched without further implementation rigor.
Secure coding standards require proper neutralization of special elements, directly addressing CWE-74.
Hardening callouts derived
DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.
- No fine-grained STIG row for CWE-74, a class-level weakness, and none of its children carries one either.