blob: 46375813525ee92f3187c9a5704695757022ebbe [file] [log] [blame]
{
"schema_version": "1.3.1",
"id": "GO-2025-3750",
"modified": "0001-01-01T00:00:00Z",
"published": "0001-01-01T00:00:00Z",
"aliases": [
"CVE-2025-0913"
],
"summary": "Inconsistent handling of O_CREATE|O_EXCL on Unix and Windows in os in syscall",
"details": "os.OpenFile(path, os.O_CREATE|O_EXCL) behaved differently on Unix and Windows systems when the target path was a dangling symlink. On Unix systems, OpenFile with O_CREATE and O_EXCL flags never follows symlinks. On Windows, when the target path was a symlink to a nonexistent location, OpenFile would create a file in that location. OpenFile now always returns an error when the O_CREATE and O_EXCL flags are both set and the target path is a symlink.",
"affected": [
{
"package": {
"name": "stdlib",
"ecosystem": "Go"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.23.10"
},
{
"introduced": "1.24.0-0"
},
{
"fixed": "1.24.4"
}
]
}
],
"ecosystem_specific": {
"imports": [
{
"path": "syscall",
"goos": [
"windows"
],
"symbols": [
"Open"
]
},
{
"path": "os",
"goos": [
"windows"
],
"symbols": [
"Chdir",
"Chmod",
"Chown",
"CopyFS",
"Create",
"CreateTemp",
"File.ReadDir",
"File.Readdir",
"File.Readdirnames",
"Getwd",
"Lchown",
"Link",
"Lstat",
"Mkdir",
"MkdirAll",
"MkdirTemp",
"NewFile",
"Open",
"OpenFile",
"OpenInRoot",
"OpenRoot",
"Pipe",
"ReadDir",
"ReadFile",
"Remove",
"RemoveAll",
"Rename",
"Root.Create",
"Root.Lstat",
"Root.Mkdir",
"Root.Open",
"Root.OpenFile",
"Root.OpenRoot",
"Root.Remove",
"Root.Stat",
"StartProcess",
"Stat",
"Symlink",
"Truncate",
"WriteFile",
"dirFS.Open",
"dirFS.ReadDir",
"dirFS.ReadFile",
"dirFS.Stat",
"rootFS.Open",
"rootFS.ReadDir",
"rootFS.ReadFile",
"rootFS.Stat",
"unixDirent.Info"
]
}
]
}
}
],
"references": [
{
"type": "FIX",
"url": "https://go.dev/cl/672396"
},
{
"type": "REPORT",
"url": "https://go.dev/issue/73702"
},
{
"type": "WEB",
"url": "https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A"
}
],
"credits": [
{
"name": "Junyoung Park and Dong-uk Kim of KAIST Hacking Lab"
}
],
"database_specific": {
"url": "https://pkg.go.dev/vuln/GO-2025-3750",
"review_status": "REVIEWED"
}
}