CVE-2022-21697: Jupyter Server Proxy Server-Side Request Forgery (SSRF)

jupyter-server-proxy Updated 02 Oct 2025

Summary

25/01/2022
Yes i
Moderate
6.3

CVE-2022-21697: Jupyter Server Proxy is a Jupyter notebook server extension to proxy web services. Affects jupyter-server-proxy across 2 version ranges.

< 3.2.1 < fd31930bacd12188c448c886e0783529436b99eb

Fixed in fd31930bacd12188c448c886e0783529436b99eb. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Jupyter Server Proxy is a Jupyter notebook server extension that enables the proxying of web services. It is commonly used in conjunction with Jupyter Server or Notebook. The vulnerability affects versions of Jupyter Server Proxy prior to 3.2.1. This vulnerability allows authenticated clients to perform Server-Side Request Forgery (SSRF) attacks by bypassing the allowed_hosts check. Although authentication is required, which already grants permissions to make similar requests via kernel or terminal execution, the severity of this vulnerability is considered low to moderate.

Vulnerability Detail

The vulnerability in Jupyter Server Proxy (CVE-2022-21697) arises from a lack of input validation. This allows authenticated users to proxy requests to other hosts, potentially leading to unauthorized access or data leakage. The vulnerability can be exploited by sending crafted requests to the affected server, bypassing the intended restrictions. While the impact is limited due to the requirement of authentication, it still poses a risk to the confidentiality and integrity of the system.

How To Fix

Minimum fixed version

fd31930bacd12188c448c886e0783529436b99eb

This is the first release that contains the fix.

pip install --upgrade "jupyter-server-proxy==fd31930bacd12188c448c886e0783529436b99eb"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a workaround, users can manually install the patch for the vulnerability. The patch can be obtained from the official GitHub repository of Jupyter Server Proxy. Users can download the patch and apply it to their existing installation following the provided instructions. However, it is strongly recommended to upgrade to the latest version instead of relying on manual patching.

Conclusion

Jupyter Server Proxy versions prior to 3.2.1 are vulnerable to Server-Side Request Forgery (SSRF). The lack of input validation allows authenticated clients to proxy requests to other hosts, bypassing the allowed_hosts check. While the severity of this vulnerability is considered low to moderate due to the requirement of authentication, it is still crucial to upgrade to version 3.2.1 or apply the provided patch manually. Upgrading ensures the vulnerability is fully addressed and mitigates the risk of unauthorized access or data leakage. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for jupyter-server-proxy →

Share this vulnerability

FAQ

Jupyter Server Proxy is a Jupyter notebook server extension that enables the proxying of web services. It allows users to access and interact with web-based applications within the Jupyter environment.

Server-Side Request Forgery (SSRF) is a vulnerability that allows an attacker to make requests from the server to other internal or external resources. In the context of Jupyter Server Proxy, it means an authenticated user can send requests to other hosts, bypassing the intended restrictions.

The vulnerability could lead to unauthorized access to internal resources or leakage of sensitive information. An attacker could exploit this vulnerability to perform actions on behalf of the authenticated user, potentially compromising the confidentiality and integrity of the system.

Yes, authentication is required to exploit this vulnerability. However, since authenticated users already have permissions to make similar requests via kernel or terminal execution, the impact of this vulnerability is considered low to moderate.

The recommended approach is to upgrade to the latest version of Jupyter Server Proxy. Manual patching is possible but not recommended as it may introduce errors or miss important fixes. Upgrading ensures that the vulnerability is completely addressed.

Related vulnerabilities

Recent vulnerabilities recorded for jupyter-server-proxy.

How To Fix

Minimum fixed version

fd31930bacd12188c448c886e0783529436b99eb

This is the first release that contains the fix.

pip install --upgrade "jupyter-server-proxy==fd31930bacd12188c448c886e0783529436b99eb"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback