{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.1",
    "cveMetadata": {
        "cveId": "CVE-2023-45283",
        "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
        "state": "PUBLISHED",
        "assignerShortName": "Go",
        "dateReserved": "2023-10-06T17:06:26.220Z",
        "datePublished": "2023-11-09T16:30:12.395Z",
        "dateUpdated": "2024-08-02T20:21:15.278Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
                "shortName": "Go",
                "dateUpdated": "2023-12-06T16:27:23.552Z"
            },
            "title": "Insecure parsing of Windows paths with a \\??\\ prefix in path/filepath",
            "descriptions": [
                {
                    "lang": "en",
                    "value": "The filepath package does not recognize paths with a \\??\\ prefix as special. On Windows, a path beginning with \\??\\ is a Root Local Device path equivalent to a path beginning with \\\\?\\. Paths with a \\??\\ prefix may be used to access arbitrary locations on the system. For example, the path \\??\\c:\\x is equivalent to the more common path c:\\x. Before fix, Clean could convert a rooted path such as \\a\\..\\??\\b into the root local device path \\??\\b. Clean will now convert this to .\\??\\b. Similarly, Join(\\, ??, b) could convert a seemingly innocent sequence of path elements into the root local device path \\??\\b. Join will now convert this to \\.\\??\\b. In addition, with fix, IsAbs now correctly reports paths beginning with \\??\\ as absolute, and VolumeName correctly reports the \\??\\ prefix as a volume name. UPDATE: Go 1.20.11 and Go 1.21.4 inadvertently changed the definition of the volume name in Windows paths starting with \\?, resulting in filepath.Clean(\\?\\c:) returning \\?\\c: rather than \\?\\c:\\ (among other effects). The previous behavior has been restored."
                }
            ],
            "affected": [
                {
                    "vendor": "Go standard library",
                    "product": "path/filepath",
                    "collectionURL": "https://pkg.go.dev",
                    "packageName": "path/filepath",
                    "versions": [
                        {
                            "version": "0",
                            "lessThan": "1.20.11",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "1.21.0-0",
                            "lessThan": "1.21.4",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ],
                    "platforms": [
                        "windows"
                    ],
                    "programRoutines": [
                        {
                            "name": "Clean"
                        },
                        {
                            "name": "volumeNameLen"
                        },
                        {
                            "name": "join"
                        },
                        {
                            "name": "Abs"
                        },
                        {
                            "name": "Base"
                        },
                        {
                            "name": "Dir"
                        },
                        {
                            "name": "EvalSymlinks"
                        },
                        {
                            "name": "Glob"
                        },
                        {
                            "name": "IsLocal"
                        },
                        {
                            "name": "Join"
                        },
                        {
                            "name": "Rel"
                        },
                        {
                            "name": "Split"
                        },
                        {
                            "name": "VolumeName"
                        },
                        {
                            "name": "Walk"
                        },
                        {
                            "name": "WalkDir"
                        }
                    ],
                    "defaultStatus": "unaffected"
                },
                {
                    "vendor": "Go standard library",
                    "product": "internal/safefilepath",
                    "collectionURL": "https://pkg.go.dev",
                    "packageName": "internal/safefilepath",
                    "versions": [
                        {
                            "version": "0",
                            "lessThan": "1.20.11",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "1.21.0-0",
                            "lessThan": "1.21.4",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ],
                    "platforms": [
                        "windows"
                    ],
                    "programRoutines": [
                        {
                            "name": "fromFS"
                        },
                        {
                            "name": "FromFS"
                        }
                    ],
                    "defaultStatus": "unaffected"
                },
                {
                    "vendor": "Go standard library",
                    "product": "path/filepath",
                    "collectionURL": "https://pkg.go.dev",
                    "packageName": "path/filepath",
                    "versions": [
                        {
                            "version": "1.20.11",
                            "lessThan": "1.20.12",
                            "status": "affected",
                            "versionType": "semver"
                        },
                        {
                            "version": "1.21.4",
                            "lessThan": "1.21.5",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ],
                    "platforms": [
                        "windows"
                    ],
                    "programRoutines": [
                        {
                            "name": "volumeNameLen"
                        },
                        {
                            "name": "Abs"
                        },
                        {
                            "name": "Base"
                        },
                        {
                            "name": "Clean"
                        },
                        {
                            "name": "Dir"
                        },
                        {
                            "name": "EvalSymlinks"
                        },
                        {
                            "name": "Glob"
                        },
                        {
                            "name": "IsLocal"
                        },
                        {
                            "name": "Join"
                        },
                        {
                            "name": "Rel"
                        },
                        {
                            "name": "Split"
                        },
                        {
                            "name": "VolumeName"
                        },
                        {
                            "name": "Walk"
                        },
                        {
                            "name": "WalkDir"
                        }
                    ],
                    "defaultStatus": "unaffected"
                }
            ],
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "description": "CWE-41: Improper Resolution of Path Equivalence"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://go.dev/issue/63713"
                },
                {
                    "url": "https://go.dev/cl/540277"
                },
                {
                    "url": "https://groups.google.com/g/golang-announce/c/4tU8LZfBFkY"
                },
                {
                    "url": "https://go.dev/issue/64028"
                },
                {
                    "url": "https://go.dev/cl/541175"
                },
                {
                    "url": "https://groups.google.com/g/golang-dev/c/6ypN5EjibjM/m/KmLVYH_uAgAJ"
                },
                {
                    "url": "https://pkg.go.dev/vuln/GO-2023-2185"
                },
                {
                    "url": "http://www.openwall.com/lists/oss-security/2023/12/05/2"
                },
                {
                    "url": "https://security.netapp.com/advisory/ntap-20231214-0008/"
                }
            ]
        },
        "adp": [
            {
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2024-08-02T20:21:15.278Z"
                },
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://go.dev/issue/63713",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://go.dev/cl/540277",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://groups.google.com/g/golang-announce/c/4tU8LZfBFkY",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://go.dev/issue/64028",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://go.dev/cl/541175",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://groups.google.com/g/golang-dev/c/6ypN5EjibjM/m/KmLVYH_uAgAJ",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://pkg.go.dev/vuln/GO-2023-2185",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "http://www.openwall.com/lists/oss-security/2023/12/05/2",
                        "tags": [
                            "x_transferred"
                        ]
                    },
                    {
                        "url": "https://security.netapp.com/advisory/ntap-20231214-0008/",
                        "tags": [
                            "x_transferred"
                        ]
                    }
                ]
            }
        ]
    }
}