data/reports: add GO-2025-3750 (os, goos:windows)
- data/reports/GO-2025-3750.yaml
Fixes golang/vulndb#3750
Change-Id: Ic2399872cc919b49617ff49dee62436e070f4eb8
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/680915
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Damien Neil <dneil@google.com>
Auto-Submit: Neal Patel <nealpatel@google.com>
diff --git a/data/cve/v5/GO-2025-3750.json b/data/cve/v5/GO-2025-3750.json
new file mode 100644
index 0000000..f9b1e5e
--- /dev/null
+++ b/data/cve/v5/GO-2025-3750.json
@@ -0,0 +1,255 @@
+{
+ "dataType": "CVE_RECORD",
+ "dataVersion": "5.0",
+ "cveMetadata": {
+ "cveId": "CVE-2025-0913"
+ },
+ "containers": {
+ "cna": {
+ "providerMetadata": {
+ "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc"
+ },
+ "title": "Inconsistent handling of O_CREATE|O_EXCL on Unix and Windows in os in syscall",
+ "descriptions": [
+ {
+ "lang": "en",
+ "value": "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": [
+ {
+ "vendor": "Go standard library",
+ "product": "syscall",
+ "collectionURL": "https://pkg.go.dev",
+ "packageName": "syscall",
+ "versions": [
+ {
+ "version": "0",
+ "lessThan": "1.23.10",
+ "status": "affected",
+ "versionType": "semver"
+ },
+ {
+ "version": "1.24.0-0",
+ "lessThan": "1.24.4",
+ "status": "affected",
+ "versionType": "semver"
+ }
+ ],
+ "platforms": [
+ "windows"
+ ],
+ "programRoutines": [
+ {
+ "name": "Open"
+ }
+ ],
+ "defaultStatus": "unaffected"
+ },
+ {
+ "vendor": "Go standard library",
+ "product": "os",
+ "collectionURL": "https://pkg.go.dev",
+ "packageName": "os",
+ "versions": [
+ {
+ "version": "0",
+ "lessThan": "1.23.10",
+ "status": "affected",
+ "versionType": "semver"
+ },
+ {
+ "version": "1.24.0-0",
+ "lessThan": "1.24.4",
+ "status": "affected",
+ "versionType": "semver"
+ }
+ ],
+ "platforms": [
+ "windows"
+ ],
+ "programRoutines": [
+ {
+ "name": "OpenFile"
+ },
+ {
+ "name": "Root.OpenFile"
+ },
+ {
+ "name": "Chdir"
+ },
+ {
+ "name": "Chmod"
+ },
+ {
+ "name": "Chown"
+ },
+ {
+ "name": "CopyFS"
+ },
+ {
+ "name": "Create"
+ },
+ {
+ "name": "CreateTemp"
+ },
+ {
+ "name": "File.ReadDir"
+ },
+ {
+ "name": "File.Readdir"
+ },
+ {
+ "name": "File.Readdirnames"
+ },
+ {
+ "name": "Getwd"
+ },
+ {
+ "name": "Lchown"
+ },
+ {
+ "name": "Link"
+ },
+ {
+ "name": "Lstat"
+ },
+ {
+ "name": "Mkdir"
+ },
+ {
+ "name": "MkdirAll"
+ },
+ {
+ "name": "MkdirTemp"
+ },
+ {
+ "name": "NewFile"
+ },
+ {
+ "name": "Open"
+ },
+ {
+ "name": "OpenInRoot"
+ },
+ {
+ "name": "OpenRoot"
+ },
+ {
+ "name": "Pipe"
+ },
+ {
+ "name": "ReadDir"
+ },
+ {
+ "name": "ReadFile"
+ },
+ {
+ "name": "Remove"
+ },
+ {
+ "name": "RemoveAll"
+ },
+ {
+ "name": "Rename"
+ },
+ {
+ "name": "Root.Create"
+ },
+ {
+ "name": "Root.Lstat"
+ },
+ {
+ "name": "Root.Mkdir"
+ },
+ {
+ "name": "Root.Open"
+ },
+ {
+ "name": "Root.OpenRoot"
+ },
+ {
+ "name": "Root.Remove"
+ },
+ {
+ "name": "Root.Stat"
+ },
+ {
+ "name": "StartProcess"
+ },
+ {
+ "name": "Stat"
+ },
+ {
+ "name": "Symlink"
+ },
+ {
+ "name": "Truncate"
+ },
+ {
+ "name": "WriteFile"
+ },
+ {
+ "name": "dirFS.Open"
+ },
+ {
+ "name": "dirFS.ReadDir"
+ },
+ {
+ "name": "dirFS.ReadFile"
+ },
+ {
+ "name": "dirFS.Stat"
+ },
+ {
+ "name": "rootFS.Open"
+ },
+ {
+ "name": "rootFS.ReadDir"
+ },
+ {
+ "name": "rootFS.ReadFile"
+ },
+ {
+ "name": "rootFS.Stat"
+ },
+ {
+ "name": "unixDirent.Info"
+ }
+ ],
+ "defaultStatus": "unaffected"
+ }
+ ],
+ "problemTypes": [
+ {
+ "descriptions": [
+ {
+ "lang": "en",
+ "description": "CWE-59: Improper Link Resolution Before File Access ('Link Following')"
+ }
+ ]
+ }
+ ],
+ "references": [
+ {
+ "url": "https://go.dev/cl/672396"
+ },
+ {
+ "url": "https://go.dev/issue/73702"
+ },
+ {
+ "url": "https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A"
+ },
+ {
+ "url": "https://pkg.go.dev/vuln/GO-2025-3750"
+ }
+ ],
+ "credits": [
+ {
+ "lang": "en",
+ "value": "Junyoung Park and Dong-uk Kim of KAIST Hacking Lab"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/data/osv/GO-2025-3750.json b/data/osv/GO-2025-3750.json
new file mode 100644
index 0000000..4637581
--- /dev/null
+++ b/data/osv/GO-2025-3750.json
@@ -0,0 +1,131 @@
+{
+ "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"
+ }
+}
\ No newline at end of file
diff --git a/data/reports/GO-2025-3750.yaml b/data/reports/GO-2025-3750.yaml
new file mode 100644
index 0000000..6776a47
--- /dev/null
+++ b/data/reports/GO-2025-3750.yaml
@@ -0,0 +1,89 @@
+id: GO-2025-3750
+modules:
+ - module: std
+ versions:
+ - fixed: 1.23.10
+ - introduced: 1.24.0-0
+ - fixed: 1.24.4
+ vulnerable_at: 1.24.3
+ packages:
+ - package: syscall
+ goos:
+ - windows
+ symbols:
+ - Open
+ - package: os
+ goos:
+ - windows
+ symbols:
+ - OpenFile
+ - Root.OpenFile
+ derived_symbols:
+ - Chdir
+ - Chmod
+ - Chown
+ - CopyFS
+ - Create
+ - CreateTemp
+ - File.ReadDir
+ - File.Readdir
+ - File.Readdirnames
+ - Getwd
+ - Lchown
+ - Link
+ - Lstat
+ - Mkdir
+ - MkdirAll
+ - MkdirTemp
+ - NewFile
+ - Open
+ - OpenInRoot
+ - OpenRoot
+ - Pipe
+ - ReadDir
+ - ReadFile
+ - Remove
+ - RemoveAll
+ - Rename
+ - Root.Create
+ - Root.Lstat
+ - Root.Mkdir
+ - Root.Open
+ - 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
+summary: Inconsistent handling of O_CREATE|O_EXCL on Unix and Windows in os in syscall
+description: |-
+ 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.
+credits:
+ - Junyoung Park and Dong-uk Kim of KAIST Hacking Lab
+references:
+ - fix: https://go.dev/cl/672396
+ - report: https://go.dev/issue/73702
+ - web: https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A
+cve_metadata:
+ id: CVE-2025-0913
+ cwe: 'CWE-59: Improper Link Resolution Before File Access (''Link Following'')'
+source:
+ id: go-security-team
+ created: 2025-06-10T12:48:34.42046-04:00
+review_status: REVIEWED