CVE-2022-30636

NameCVE-2022-30636
DescriptionhttpTokenCacheKey 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
golang-go.crypto (PTS)jessie, jessie (lts)0.0~hg190-1+deb8u2vulnerable
stretch (security), stretch (lts), stretch1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1+deb8u1vulnerable
buster (security), buster, buster (lts)1:0.0~git20181203.505ab14-1+deb10u1vulnerable
bullseye1:0.0~git20201221.eec23a3-1vulnerable
bookworm1:0.4.0-1fixed
sid, trixie1:0.25.0-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
golang-go.cryptosource(unstable)1:0.0~git20220829.c86fa9a-1unimportant

Notes

https://go.dev/cl/408694
https://go.googlesource.com/crypto/+/793ad666bf5ec61392092b27061be9618e4e219b (v0.1.0)
Only exploitable for limited directory traversal on Windows

Search for package or bug name: Reporting problems