{"id":"CVE-2026-97039","sourceIdentifier":"security@golang.org","published":"2026-11-11T05:19:58.133","lastModified":"2026-11-12T22:09:39.233","vulnStatus":"Awaiting Analysis","cveTags":[],"descriptions":[{"lang":"en","value":"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":[{"source":"security@golang.org","affectedData":[{"vendor":"Go toolchain","product":"cmd/go","defaultStatus":"unaffected","collectionURL":"https://pkg.go.dev","packageName":"cmd/go","versions":[{"version":"0","lessThan":"1.26.11","versionType":"semver","status":"affected"},{"version":"1.27.0-0","lessThan":"1.27.4","versionType":"semver","status":"affected"}]}]}],"metrics":{},"references":[{"url":"https://go.dev/cl/862152","source":"security@golang.org"},{"url":"https://go.dev/issue/82571","source":"security@golang.org"},{"url":"https://groups.google.com/g/golang-announce/c/iY8TY0wWgbM","source":"security@golang.org"},{"url":"https://pkg.go.dev/vuln/GO-2026-6852","source":"security@golang.org"}]}