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

Published Nov 12, 2026
·
Updated

Building a malicious package that uses "#cgo pkg-config:" directives could load untrusted pkg-config ".pc" files or inject unvalidated compiler and linker flags. The pkg-config flag allowlist previously permitted "--with-path=" and "--personality=", allowed "--define-variable=" values beginning with "=" or "$" (which can rewrite paths in system ".pc" files into sysroot-prefixed "-L=" or "-L$SYSROOT" linker search paths), and allowed package arguments ending in ".pc" or containing path separators or "..", which caused pkg-config to load local ".pc" files directly from the package directory. In addition, flags returned by "pkg-config --cflags" in cgoCPPFLAGS were not checked when determining whether internal linking is safe. The go command now disallows "--with-path=", "--personality=", leading "=" or "$" characters in "--define-variable=" values, and local ".pc" paths in "#cgo pkg-config:" directives, and inspects cgoCPPFLAGS when checking internal linking compatibility.

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*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Configure the go command's pkg-config handling to reject these options and package arguments so untrusted local .pc files cannot be loaded and linker search paths cannot be rewritten.

    go command pkg-config flag allowlist allowed pkg-config options and package arguments = Disallow --with-path=, --personality=, --define-variable= values beginning with = or $, local .pc paths, package arguments ending in .pc, package arguments containing path separators, and package arguments containing ..

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 are exposed. The issue is triggered during package building through #cgo pkg-config directives and pkg-config output handling.

2

What does an attacker need to exploit it?

An attacker needs to cause a target to build a package containing crafted #cgo pkg-config directives, or otherwise influence the pkg-config data used during that build. Crafted arguments could cause local or untrusted .pc files to be loaded or pass unvalidated compiler and linker flags.

3

How can I identify potentially affected source packages?

Inspect #cgo pkg-config directives for --with-path=, --personality=, --define-variable= values beginning with = or $, package arguments ending in .pc, and arguments containing path separators or .. . These forms are now disallowed by the go command.

4

What should be done if updates cannot be applied immediately?

Do not build untrusted packages that use cgo and pkg-config directives. Review build inputs and .pc files, and reject directives using local .pc paths or the previously permitted pkg-config options described in the advisory.

5

Is internal linking relevant to triage?

Yes. The issue also concerns compiler flags returned by pkg-config --cflags in cgoCPPFLAGS, which were previously omitted when determining whether internal linking was safe.

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