{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-97036",
        "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
        "state": "PUBLISHED",
        "assignerShortName": "Go",
        "dateReserved": "2026-09-23T23:05:04.987Z",
        "datePublished": "2026-11-11T03:13:16.347Z",
        "dateUpdated": "2026-11-11T03:13:16.347Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
                "shortName": "Go",
                "dateUpdated": "2026-11-11T03:13:16.347Z"
            },
            "title": "Arbitrary code execution during build on darwin via \"-l to_library\" in cgo in cmd/go",
            "descriptions": [
                {
                    "lang": "en",
                    "value": "On Darwin, building a malicious package that uses cgo could cause arbitrary code execution when using the Apple linker due to passing \"-l to_library <path>\" in a \"#cgo LDFLAGS\" directive. The Apple linker recombines the separated arguments \"-l\" and \"to_library\" into \"-lto_library\", which loads an arbitrary LTO plugin dynamic library at link time. The go command now disallows \"-l\" followed by \"to_library\" in \"#cgo LDFLAGS\", rejects \"-lazy_library\", \"-lazy_framework\", \"-load_hidden\", \"-library\", and \"-library-path\", and checks recombined \"-l\" arguments against disallowed linker flags and patterns."
                }
            ],
            "affected": [
                {
                    "vendor": "Go toolchain",
                    "product": "cmd/go",
                    "collectionURL": "https://pkg.go.dev",
                    "packageName": "cmd/go",
                    "versions": [
                        {
                            "version": "0",
                            "lessThan": "1.26.11",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "1.27.0-0",
                            "lessThan": "1.27.4",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ],
                    "platforms": [
                        "darwin"
                    ],
                    "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/862149"
                },
                {
                    "url": "https://go.dev/issue/82574"
                },
                {
                    "url": "https://groups.google.com/g/golang-announce/c/iY8TY0wWgbM"
                },
                {
                    "url": "https://pkg.go.dev/vuln/GO-2026-6855"
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "Ali Sherif (https://www.linkedin.com/in/ali-sherif-13812b276/)"
                }
            ]
        }
    }
}