UBUNTU-CVE-2026-97035: Medium severity ubuntu/golang-1.10 vulnerability

Published Nov 12, 2026
·
Updated

When using Clang or GCC, building a malicious package that uses cgo could cause unexpected code execution at build time or write files to arbitrary directories via "-gen-" or "-gnat" flags in "#cgo" directives. The "-g" wildcard in the compiler and linker flag allowlists previously matched Clang's two-argument "-gen-cdb-fragment-path <dir>" flag and GCC's two-argument "-gnatO <file>" flag, permitting compilation database fragments and sidecar output files to be written to arbitrary directories and desynchronizing flag argument parsing between the go command and the compiler driver so that subsequent arguments could be passed as unvalidated positional inputs to the linker. "-gen-" and "-gnat" flags are now disallowed in "#cgo" compiler and linker flags.

Affected Software

24 affected components
ubuntu/golang-1.10*
ubuntu/golang-1.10*
ubuntu/golang-1.6*
ubuntu/golang-1.13*
ubuntu/golang-1.18*
ubuntu/golang-1.10*
ubuntu/golang-1.13*
ubuntu/golang-1.16*
ubuntu/golang-1.18*
ubuntu/golang-1.8*
ubuntu/golang-1.13*
ubuntu/golang-1.16*
ubuntu/golang-1.18*
ubuntu/golang-1.22*
ubuntu/golang-1.17*
ubuntu/golang-1.22*
ubuntu/golang-1.24*
ubuntu/golang-1.13*
ubuntu/golang-1.21*
ubuntu/golang-1.22*
ubuntu/golang-1.24*
ubuntu/golang-1.26*
ubuntu/golang-1.23*
ubuntu/golang-1.24*

Event History

Nov 12, 2026
CVE Published
via OSV·12:00 AM
Data Sourced
via OSV·12:00 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who is exposed to this issue?

Systems that build untrusted or malicious Go packages using cgo with Clang or GCC are exposed. The affected Ubuntu package set includes golang-1.6, golang-1.8, golang-1.10, golang-1.13, golang-1.16, golang-1.18, golang-1.22, and golang-1.24.

2

What does an attacker need to exploit it?

An attacker needs to supply a package that is built with cgo and contains crafted #cgo compiler or linker directives. Exploitation depends on the build using Clang or GCC and processing the previously allowed -gen-* or -gnat* flags.

3

What can happen during exploitation?

A malicious package can cause unexpected code execution during its build. It can also write compilation database fragments or sidecar output files to arbitrary directories, and may cause later arguments to reach the linker as unvalidated positional inputs.

4

What is the relevant mitigation if updates cannot be applied immediately?

Do not build untrusted cgo-enabled packages with Clang or GCC. In particular, reject or review #cgo compiler and linker directives using -gen-* or -gnat* flags.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203