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.
Problem types
CWE-59: Improper Link Resolution Before File Access ('Link Following')
Product status
Any version before 1.23.10
1.24.0-0 (semver) before 1.24.4
Any version before 1.23.10
1.24.0-0 (semver) before 1.24.4
Credits
Junyoung Park and Dong-uk Kim of KAIST Hacking Lab
References
groups.google.com/g/golang-announce/c/ufZ8WpEsA3A