Vulnerability in Golang.org/x/crypto Golang.org/x/crypto/acme/autocert

CVE-2022-30636

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.

EPSS: 0.006 (46.7th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N.

Affected products

References

Frequently asked questions

What is CVE-2022-30636?
CVE-2022-30636 is a high-severity vulnerability in Golang.org/x/crypto Golang.org/x/crypto/acme/autocert. CVSS score: 7.5/10. Published 2024-07-02.
How severe is CVE-2022-30636?
High severity. CVSS v3 base score is 7.5 out of 10.