118 lines
5.2 KiB
JSON
118 lines
5.2 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-97042",
|
|
"assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Go",
|
|
"dateReserved": "2026-09-23T23:05:04.987Z",
|
|
"datePublished": "2026-11-11T03:13:15.060Z",
|
|
"dateUpdated": "2026-11-11T03:13:15.060Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
|
|
"shortName": "Go",
|
|
"dateUpdated": "2026-11-11T03:13:15.060Z"
|
|
},
|
|
"title": "Linker flag injection via cgo_import_dynamic and PE DLL names in cmd/cgo, cmd/compile, and cmd/link",
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "Building a malicious package that uses \"//go:cgo_import_dynamic\" or links against a crafted PE object on Windows could pass unsafe library arguments to the external linker. The compiler only checked the first character of the library name in \"//go:cgo_import_dynamic\" directives and skipped validation in cgo-generated files. In addition, on Windows, \"cmd/cgo\" and \"cmd/link\" did not validate imported DLL names extracted from PE object files before emitting \"-l<name>\" flags for the external linker, allowing a crafted DLL name containing \"..\" path traversal or special characters to reference arbitrary files on disk. The compiler now validates every character of the library name in \"//go:cgo_import_dynamic\" directives (including in cgo-generated files on Windows) and rejects \"..\" path traversal, and \"cmd/cgo\" and \"cmd/link\" reject PE imported DLL names containing path separators, \"..\", \":\", or leading \"-\" or \"@\"."
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"vendor": "Go toolchain",
|
|
"product": "cmd/cgo",
|
|
"collectionURL": "https://pkg.go.dev",
|
|
"packageName": "cmd/cgo",
|
|
"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/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/862155"
|
|
},
|
|
{
|
|
"url": "https://go.dev/issue/82568"
|
|
},
|
|
{
|
|
"url": "https://groups.google.com/g/golang-announce/c/iY8TY0wWgbM"
|
|
},
|
|
{
|
|
"url": "https://pkg.go.dev/vuln/GO-2026-6849"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |