GO-2025-3750

Inconsistent handling of O_CREATE|O_EXCL on Unix and Windows in os in syscall

At a glance

Published
Updated
CVE
CVE-2025-0913
Aliases
BIT-golang-2025-0913

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.

Affected packages

PackageVersions
Go · stdlibintroduced 0, fixed 1.23.10, introduced 1.24.0-0, fixed 1.24.4

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — Go Vulnerability Database