What’s Vulnerable › Vulnerabilities
CVE-2022-30636: Limited directory traversal vulnerability on Windows in golang.org/x/crypto
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-07-02 · updated 2026-06-17
Description
httpTokenCacheKey uses path.Base to extract the expected HTTP-01 token value to lookup in the DirCache implementation. On Windows, path.Base acts differently to filepath.Base, since Windows uses a different path separator (\ vs. /), allowing a user to provide a relative path, i.e. .well-known/acme-challenge/..\..\asd becomes ..\..\asd. The extracted path is then suffixed with +http-01, joined with the cache directory, and opened. Since the controlled path is suffixed with +http-01 before opening, the impact of this is significantly limited, since it only allows reading arbitrary files on the system if and only if they have this suffix.
Affected products
- golang.org/x/crypto/ssh: before 0.0.0-20220525230936-793ad666bf5e — fixed in 0.0.0-20220525230936-793ad666bf5e
- Golang.Org/X/Crypto: before 0.0.0-20220525230936-793ad666bf5e — fixed in 0.0.0-20220525230936-793ad666bf5e
How to fix
Upgrade to a fixed version: golang.org/x/crypto/ssh 0.0.0-20220525230936-793ad666bf5e; Golang.Org/X/Crypto 0.0.0-20220525230936-793ad666bf5e. Check the vendor advisory for mitigations.
References
- https://go.dev/cl/408694
- https://go.dev/issue/53082
- https://pkg.go.dev/vuln/GO-2024-2961
- https://go.dev/cl/408694
- https://go.dev/issue/53082
- https://pkg.go.dev/vuln/GO-2024-2961
Get alerted when CVE-2022-30636 or the next vulnerability affects your stack