CVE-2022-21697 json
SSRF vulnerability (requires authentication)
published 2022-01-25 4 y ago modified 2026-06-17 4 mo ago also GHSA-gcv9-6737-pjqw , PYSEC-2022-16 , EUVD-2022-0130
- cvss
- 6.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.1%
- EPSS 1.1% chance of exploitation in 30 days, percentile 65%
- public exploits
- 0
- none known
Summary
Jupyter Server Proxy is a Jupyter notebook server extension to proxy web services. Versions of Jupyter Server Proxy prior to 3.2.1 are vulnerable to Server-Side Request Forgery (SSRF). Any user deploying Jupyter Server or Notebook with jupyter-proxy-server extension enabled is affected. A lack of input validation allows authenticated clients to proxy requests to other hosts, bypassing the `allowed_hosts` check. Because authentication is required, which already grants permissions to make the same requests via kernel or terminal execution, this is considered low to moderate severity. Users may upgrade to version 3.2.1 to receive a patch or, as a workaround, install the patch manually.
Patch / fix
- pypi jupyter-server-proxy 3.2.1
- jupyter jupyter_server_proxy 3.2.1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 18 mo ago
Exploit prediction
1.10% chance of exploitation in the next 30 days, higher than 65% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N |
| NVD | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N |
| NVD | 2.0 | 5.5 | AV:N/AC:L/Au:S/C:P/I:P/A:N |
| GitHub | 3.1 | 6.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jupyter-server-proxy | <3.2.1 |
3.2.1 |
Affected products
- jupyterhub jupyter-server-proxy
Classification
- Weakness
-
- CWE-918 Server-Side Request Forgery
References
-
github.com
/jupyterhub/jupyter-server-proxy/commit/fd31930bacd12188c448c886e0783529436b99eb
web, patch, third-party-advisory
-
github.com
/jupyterhub/jupyter-server-proxy/compare/v3.2.0...v3.2.1.patch
web, patch, third-party-advisory
-
github.com
/jupyterhub/jupyter-server-proxy/security/advisories/GHSA-gcv9-6737-pjqw
web, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-21697
advisory
-
github.com
/jupyterhub/jupyter-server-proxy
web
-
github.com
/pypa/advisory-database/tree/main/vulns/jupyter-server-proxy/PYSEC-2022-16.yaml
web
Sources
- CVE List CVE-2022-21697
- GitHub Advisory GHSA-gcv9-6737-pjqw
- NVD CVE-2022-21697
- OSV PYSEC-2022-16
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.