Skip to content
Fencer Vulns
high 7.5

CVE-2022-30636 json

Limited directory traversal vulnerability on Windows in golang.org/x/crypto

published 2024-07-02 2 y ago modified 2026-06-17 4 mo ago also GO-2024-2961 , EUVD-2022-52467

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.6%
EPSS 0.6% chance of exploitation in 30 days, percentile 50%
public exploits
0
none known

Summary

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.

Patch / fix

  • go golang.org/x/crypto 0.0.0-20220525230936-793ad666bf5e
  • golang.org/x/crypto golang.org/x/crypto/acme/autocert 0.0.0-20220525230936-793ad666bf5e
  • golang crypto 0.0.0-20220525230936-793ad666bf5e
  • golang-go.crypto Debian 14, Debian 13, Debian 12 1:0.0~git20220829.c86fa9a-1

debian advisories DEBIAN-CVE-2022-30636

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
partial
Assessed
2 y ago

Exploit prediction

0.64% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CISA ADP 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Affected packages

ecosystem package affected fixed in
go golang.org/x/crypto
<0.0.0-20220525230936-793ad666bf5e
0.0.0-20220525230936-793ad666bf5e

Affected products

  • golang.org/x/crypto golang.org/x/crypto/acme/autocert
  • golang crypto

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.