cve-2025-0913
Vulnerability from cvelistv5
Published
2025-06-11 17:17
Modified
2025-06-11 17:37
Summary
Inconsistent handling of O_CREATE|O_EXCL on Unix and Windows in os in syscall
Impacted products
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "NONE",
              "baseScore": 5.5,
              "baseSeverity": "MEDIUM",
              "confidentialityImpact": "NONE",
              "integrityImpact": "HIGH",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2025-0913",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-06-11T17:35:44.313980Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-06-11T17:37:52.111Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://pkg.go.dev",
          "defaultStatus": "unaffected",
          "packageName": "syscall",
          "platforms": [
            "windows"
          ],
          "product": "syscall",
          "programRoutines": [
            {
              "name": "Open"
            }
          ],
          "vendor": "Go standard library",
          "versions": [
            {
              "lessThan": "1.23.10",
              "status": "affected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThan": "1.24.4",
              "status": "affected",
              "version": "1.24.0-0",
              "versionType": "semver"
            }
          ]
        },
        {
          "collectionURL": "https://pkg.go.dev",
          "defaultStatus": "unaffected",
          "packageName": "os",
          "platforms": [
            "windows"
          ],
          "product": "os",
          "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"
            }
          ],
          "vendor": "Go standard library",
          "versions": [
            {
              "lessThan": "1.23.10",
              "status": "affected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThan": "1.24.4",
              "status": "affected",
              "version": "1.24.0-0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "Junyoung Park and Dong-uk Kim of KAIST Hacking Lab"
        }
      ],
      "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."
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "description": "CWE-59: Improper Link Resolution Before File Access (\u0027Link Following\u0027)",
              "lang": "en"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-06-11T17:17:25.606Z",
        "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
        "shortName": "Go"
      },
      "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"
        }
      ],
      "title": "Inconsistent handling of O_CREATE|O_EXCL on Unix and Windows in os in syscall"
    }
  },
  "cveMetadata": {
    "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
    "assignerShortName": "Go",
    "cveId": "CVE-2025-0913",
    "datePublished": "2025-06-11T17:17:25.606Z",
    "dateReserved": "2025-01-30T21:52:33.447Z",
    "dateUpdated": "2025-06-11T17:37:52.111Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-0913\",\"sourceIdentifier\":\"security@golang.org\",\"published\":\"2025-06-11T18:15:24.627\",\"lastModified\":\"2025-06-12T16:06:20.180\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"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.\"},{\"lang\":\"es\",\"value\":\"os.OpenFile(path, os.O_CREATE|O_EXCL) se comportaba de forma diferente en sistemas Unix y Windows cuando la ruta de destino era un enlace simb\u00f3lico pendiente. En sistemas Unix, OpenFile con los indicadores O_CREATE y O_EXCL nunca sigue enlaces simb\u00f3licos. En Windows, cuando la ruta de destino era un enlace simb\u00f3lico a una ubicaci\u00f3n inexistente, OpenFile creaba un archivo en esa ubicaci\u00f3n. OpenFile ahora siempre devuelve un error cuando los indicadores O_CREATE y O_EXCL est\u00e1n activados y la ruta de destino es un enlace simb\u00f3lico.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}]},\"references\":[{\"url\":\"https://go.dev/cl/672396\",\"source\":\"security@golang.org\"},{\"url\":\"https://go.dev/issue/73702\",\"source\":\"security@golang.org\"},{\"url\":\"https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A\",\"source\":\"security@golang.org\"},{\"url\":\"https://pkg.go.dev/vuln/GO-2025-3750\",\"source\":\"security@golang.org\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading...

Loading...

Loading...
  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.