Name | CVE-2022-30636 |
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. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
golang-go.crypto (PTS) | jessie, jessie (lts) | 0.0~hg190-1+deb8u2 | vulnerable |
stretch (security), stretch (lts), stretch | 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1+deb8u1 | vulnerable | |
buster (security), buster, buster (lts) | 1:0.0~git20181203.505ab14-1+deb10u1 | vulnerable | |
bullseye | 1:0.0~git20201221.eec23a3-1 | vulnerable | |
bookworm | 1:0.4.0-1 | fixed | |
sid, trixie | 1:0.25.0-1 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
golang-go.crypto | source | (unstable) | 1:0.0~git20220829.c86fa9a-1 | unimportant |
https://go.dev/cl/408694
https://go.googlesource.com/crypto/+/793ad666bf5ec61392092b27061be9618e4e219b (v0.1.0)
Only exploitable for limited directory traversal on Windows