« Volver al listado

CVE-2025-0913

Estado: AnalizadaMedia (5.5)—

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.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2025-0913",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2025-0913",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2025-06-11T17:35:44.313980Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "affected": [
    {
      "source": "security@golang.org",
      "affectedData": [
        {
          "vendor": "Go standard library",
          "product": "syscall",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "1.23.10",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "1.24.0-0",
              "lessThan": "1.24.4",
              "versionType": "semver"
            }
          ],
          "platforms": [
            "windows"
          ],
          "packageName": "syscall",
          "collectionURL": "https://pkg.go.dev",
          "defaultStatus": "unaffected",
          "programRoutines": [
            {
              "name": "Open"
            }
          ]
        },
        {
          "vendor": "Go standard library",
          "product": "os",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "1.23.10",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "1.24.0-0",
              "lessThan": "1.24.4",
              "versionType": "semver"
            }
          ],
          "platforms": [
            "windows"
          ],
          "packageName": "os",
          "collectionURL": "https://pkg.go.dev",
          "defaultStatus": "unaffected",
          "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"
            }
          ]
        }
      ]
    }
  ],
  "published": "2025-06-11T18:15:24.627",
  "references": [
    {
      "url": "https://go.dev/cl/672396",
      "tags": [
        "Issue Tracking"
      ],
      "source": "security@golang.org"
    },
    {
      "url": "https://go.dev/issue/73702",
      "tags": [
        "Issue Tracking"
      ],
      "source": "security@golang.org"
    },
    {
      "url": "https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A",
      "tags": [
        "Mailing List"
      ],
      "source": "security@golang.org"
    },
    {
      "url": "https://pkg.go.dev/vuln/GO-2025-3750",
      "tags": [
        "Vendor Advisory"
      ],
      "source": "security@golang.org"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "CWE-59"
        }
      ]
    }
  ],
  "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ólico pendiente. En sistemas Unix, OpenFile con los indicadores O_CREATE y O_EXCL nunca sigue enlaces simbólicos. En Windows, cuando la ruta de destino era un enlace simbólico a una ubicación inexistente, OpenFile creaba un archivo en esa ubicación. OpenFile ahora siempre devuelve un error cuando los indicadores O_CREATE y O_EXCL están activados y la ruta de destino es un enlace simbólico."
    }
  ],
  "lastModified": "2026-06-17T08:27:21.723",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "E629E4E8-C3BF-4BCA-969A-7F88BB968232",
              "versionEndExcluding": "1.23.10"
            },
            {
              "criteria": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "0925799A-339C-4155-ABC6-E772A0EB73B4",
              "versionEndExcluding": "1.24.4",
              "versionStartIncluding": "1.24.0"
            }
          ],
          "operator": "OR"
        },
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*",
              "vulnerable": false,
              "matchCriteriaId": "A2572D17-1DE6-457B-99CC-64AFD54487EA"
            }
          ],
          "operator": "OR"
        }
      ],
      "operator": "AND"
    }
  ],
  "sourceIdentifier": "security@golang.org"
}