VDB
Sign up
MEDIUM5.5

GO-2025-3750

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

Quick fix

GO-2025-3750 — stdlib: upgrade to the fixed version with the command below.

go get stdlib@v1.23.10

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

Go/stdlib
Introduced in: 0Fixed in: 1.23.10
Fixgo get stdlib@v1.23.10

References