blob: 830b840d97a15260103b05366bbef00eb2b93e13 [file] [log] [blame]
packages:
- module: std
package: path/filepath
symbols:
- Clean
versions:
- fixed: 1.17.11
- introduced: 1.18.0
fixed: 1.18.3
vulnerable_at: 1.18.2
description: |
On Windows, the filepath.Clean function can convert certain invalid paths
to valid, absolute paths, potentially allowing a directory traversal
attack.
For example, Clean(`.\c:`) returns `c:`.
credit: Unrud
os:
- windows
links:
pr: https://go.dev/cl/401595
commit: https://go.googlesource.com/go/+/9cd1818a7d019c02fa4898b3e45a323e35033290
context:
- https://go.dev/issue/52476
- https://groups.google.com/g/golang-announce/c/TzIC9-t8Ytg/m/IWz5T6x7AAAJ
cve_metadata:
id: CVE-2022-29804
cwe: "CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')"
description: |
Incorrect conversion of certain invalid paths to valid, absolute paths
in Clean in path/filepath before Go 1.17.11 and Go 1.18.3 on Windows
allows potential directory traversal attack.