{"id":"CVE-2022-21697","aliases":["EUVD-2022-0130","GHSA-gcv9-6737-pjqw","PYSEC-2022-16"],"status":"published","title":"SSRF vulnerability (requires authentication)","description":"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.","severity":{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.01096,"percentile":0.65802,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-918"],"published":"2022-01-25T13:55:12Z","modified":"2026-10-28T02:31:00Z","fixes":[{"ecosystem":"PyPI","package":"jupyter-server-proxy","fixed_in":["3.2.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"jupyter-server-proxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"3.2.0"},{"fixed":"3.2.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"jupyter-server-proxy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.1"}]}],"versions":["1.0","1.0.1","1.0b1","1.0b2","1.0b4","1.0b5","1.0b6","1.0b7","1.0b8","1.0b9","1.1.0","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.5.0","1.5.2","1.5.3","1.6.0","3.0.0","3.0.0rc1","3.0.1","3.0.2","3.1.0","3.2.0"]},{"source":"osv","ecosystem":"PyPI","package":"jupyter-server-proxy","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"fd31930bacd12188c448c886e0783529436b99eb"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.1"}]}],"versions":["1.0","1.0.1","1.0b1","1.0b2","1.0b4","1.0b5","1.0b6","1.0b7","1.0b8","1.0b9","1.1.0","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.5.0","1.5.2","1.5.3","1.6.0","3.0.0","3.0.0rc1","3.0.1","3.0.2","3.1.0","3.2.0"]}],"products":[{"vendor":"jupyter","product":"jupyter_server_proxy"},{"vendor":"jupyterhub","product":"jupyter-server-proxy"}],"references":[{"url":"https://github.com/jupyterhub/jupyter-server-proxy/security/advisories/GHSA-gcv9-6737-pjqw","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/jupyterhub/jupyter-server-proxy/commit/fd31930bacd12188c448c886e0783529436b99eb","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/jupyterhub/jupyter-server-proxy/compare/v3.2.0...v3.2.1.patch","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-21697","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/jupyter-server-proxy/PYSEC-2022-16.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-gcv9-6737-pjqw"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/21xxx/CVE-2022-21697.json","tags":["advisory"]},{"url":"https://github.com/jupyterhub/jupyter-server-proxy","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2022-21697","title":"SSRF vulnerability (requires authentication)","description":"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.","status":"published","published":"2022-01-25T13:55:12Z","modified":"2025-04-23T19:09:24.997Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:34:29.057251Z"}],"euvd":[{"id":"EUVD-2022-0130","description":"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.","status":"published","published":"2022-01-25T13:55:12Z","modified":"2025-04-23T19:09:24Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:52:06.891582Z"}],"ghsa":[{"id":"GHSA-gcv9-6737-pjqw","title":"SSRF vulnerability in jupyter-server-proxy","description":"### Impact\n\n**What kind of vulnerability is it?**  Server-Side Request Forgery ( SSRF )\n\n**Who is impacted?** Any user deploying Jupyter Server or Notebook with jupyter-proxy-server extension enabled. \n\nA lack of input validation allowed 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.\n\n\n### Patches\n\n_Has the problem been patched? What versions should users upgrade to?_\n\nUpgrade to 3.2.1, or apply the patch https://github.com/jupyterhub/jupyter-server-proxy/compare/v3.2.0...v3.2.1.patch\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n* Open a topic [on our forum](https://discourse.jupyter.org)\n* Email the Jupyter security team at [security@ipython.org](mailto:security@ipython.org)\n","status":"published","published":"2022-01-27T16:24:26Z","modified":"2024-09-24T18:39:16Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:38:05.526697Z"}],"nvd":[{"id":"CVE-2022-21697","description":"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.","status":"published","published":"2022-01-25T14:15:08.907Z","modified":"2026-06-17T04:26:47.07Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:07:11.52734Z"}],"osv":[{"id":"CVE-2022-21697","title":"SSRF vulnerability (requires authentication)","description":"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.","status":"published","published":"2022-01-25T13:55:12Z","modified":"2026-10-28T02:31:00.937091362Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T15:44:23.655778Z"},{"id":"GHSA-gcv9-6737-pjqw","title":"SSRF vulnerability in jupyter-server-proxy","description":"### Impact\n\n**What kind of vulnerability is it?**  Server-Side Request Forgery ( SSRF )\n\n**Who is impacted?** Any user deploying Jupyter Server or Notebook with jupyter-proxy-server extension enabled. \n\nA lack of input validation allowed 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.\n\n\n### Patches\n\n_Has the problem been patched? What versions should users upgrade to?_\n\nUpgrade to 3.2.1, or apply the patch https://github.com/jupyterhub/jupyter-server-proxy/compare/v3.2.0...v3.2.1.patch\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n\n* Open a topic [on our forum](https://discourse.jupyter.org)\n* Email the Jupyter security team at [security@ipython.org](mailto:security@ipython.org)\n","status":"published","published":"2022-01-27T16:24:26Z","modified":"2024-09-24T18:48:55.880796Z","cvss":[{"version":"3.1","score":6.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N","level":"medium"},{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T15:46:47.822182Z"},{"id":"PYSEC-2022-16","description":"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.","status":"published","published":"2022-01-25T14:15:00Z","modified":"2023-11-08T04:08:08.49597Z","updated_at":"2026-11-02T15:52:53.449407Z"}]}}
