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