Files
vuln-cve/data/2026/97xxx/CVE-2026-97041.json
T

103 lines
4.7 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-97041",
"assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
"state": "PUBLISHED",
"assignerShortName": "Go",
"dateReserved": "2026-09-23T23:05:04.987Z",
"datePublished": "2026-11-11T03:13:15.269Z",
"dateUpdated": "2026-11-11T03:13:15.269Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
"shortName": "Go",
"dateUpdated": "2026-11-11T03:13:15.269Z"
},
"title": "Host linker flag injection via //go:cgo_* directives in cmd/compile and cmd/link",
"descriptions": [
{
"lang": "en",
"value": "Building a malicious package containing \"//go:cgo_*\" compiler directives could inject arbitrary flags into the external linker invocation on ELF platforms. The compiler and linker did not reject commas in \"//go:cgo_import_dynamic\", \"//go:cgo_export_dynamic\", \"//go:cgo_export_static\", \"//go:cgo_import_static\", and \"//go:cgo_dynamic_linker\" directives, and the linker passed the dynamic linker path using \"-Wl,--dynamic-linker,<path>\". Furthermore, the two-argument form of \"//go:cgo_import_dynamic\" (which is permitted in non-cgo Go source files) could overwrite the external symbol name of a symbol already marked for cgo export. A symbol name or dynamic linker path containing a comma or leading \"@\" could split \"-Wl,--export-dynamic-symbol=\" or \"-Wl,--dynamic-linker,\" into arbitrary host linker flags or response file arguments. The compiler and linker now reject commas in \"//go:cgo_*\" symbol and dynamic linker directives, the linker passes \"-Wl,--dynamic-linker=<path>\", and \"cgo_import_dynamic\" no longer overwrites symbols exported via \"cgo_export_dynamic\" or \"cgo_export_static\"."
}
],
"affected": [
{
"vendor": "Go toolchain",
"product": "cmd/compile",
"collectionURL": "https://pkg.go.dev",
"packageName": "cmd/compile",
"versions": [
{
"version": "0",
"lessThan": "1.26.11",
"status": "affected",
"versionType": "semver"
},
{
"version": "1.27.0-0",
"lessThan": "1.27.4",
"status": "affected",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
},
{
"vendor": "Go toolchain",
"product": "cmd/link",
"collectionURL": "https://pkg.go.dev",
"packageName": "cmd/link",
"versions": [
{
"version": "0",
"lessThan": "1.26.11",
"status": "affected",
"versionType": "semver"
},
{
"version": "1.27.0-0",
"lessThan": "1.27.4",
"status": "affected",
"versionType": "semver"
}
],
"defaultStatus": "unaffected"
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')"
}
]
}
],
"references": [
{
"url": "https://go.dev/cl/862154"
},
{
"url": "https://go.dev/issue/82569"
},
{
"url": "https://groups.google.com/g/golang-announce/c/iY8TY0wWgbM"
},
{
"url": "https://pkg.go.dev/vuln/GO-2026-6850"
}
],
"credits": [
{
"lang": "en",
"value": "RyotaK (https://ryotak.net) of GMO Flatt Security Inc."
}
]
}
}
}