CVE-2022-21697: Jupyter Server Proxy Server-Side Request Forgery (SSRF)
Summary
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 ↓
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.
No signup required · Results in about 60 seconds
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 →
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.
References
Related vulnerabilities
Recent vulnerabilities recorded for jupyter-server-proxy.