A path traversal vulnerability exists in filepath.Clean on Windows. On Windows, the filepath.Clean function could transform an invalid path such as "a/../c:/b" into the valid path "c:\b". This transformation of a relative (if invalid) path into an absolute path could enable a directory traversal attack. After fix, the filepath.Clean function transforms this path into the relative (but still invalid) path ".\c:\b".
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Link | Tags |
---|---|
https://go.dev/issue/57274 | issue tracking |
https://go.dev/cl/468123 | issue tracking |
https://groups.google.com/g/golang-announce/c/V0aBFqaFs_E | mailing list vendor advisory |
https://pkg.go.dev/vuln/GO-2023-1568 | vendor advisory |