| { |
| "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" |
| } |
| } |