First published: Tue Jun 11 2024(Updated: )
### Impact There is a reflected cross-site scripting (XSS) issue in `jupyter-server-proxy`[1]. The `/proxy` endpoint accepts a `host` path segment in the format `/proxy/<host>`. When this endpoint is called with an invalid `host` value, `jupyter-server-proxy` replies with a response that includes the value of `host`, without sanitization [2]. A third-party actor can leverage this by sending a phishing link with an invalid `host` value containing custom JavaScript to a user. When the user clicks this phishing link, the browser renders the response of `GET /proxy/<host>`, which runs the custom JavaScript contained in `host` set by the actor. As any arbitrary JavaScript can be run after the user clicks on a phishing link, this issue permits extensive access to the user's JupyterLab instance for an actor. This issue exists in the latest release of `jupyter-server-proxy`, currently `v4.1.2`. **Impacted versions:** `>=3.0.0,<=4.1.2` ### Patches The patches are included in `==4.2.0` and `==3.2.4`. ### Workarounds Server operators who are unable to upgrade can disable the `jupyter-server-proxy` extension with: ``` jupyter server extension disable jupyter-server-proxy ``` ### References [1] : https://github.com/jupyterhub/jupyter-server-proxy/ [2] : https://github.com/jupyterhub/jupyter-server-proxy/blob/62a290f08750f7ae55a0c29ca339c9a39a7b2a7b/jupyter_server_proxy/handlers.py#L328
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Jupyter Server Proxy | >=3.0.0<3.2.4 | |
Jupyter Server Proxy | >=4.1.2<4.2.0 | |
pip/jupyter-server-proxy | >=4.0.0<4.2.0 | 4.2.0 |
pip/jupyter-server-proxy | >=3.0.0<3.2.4 | 3.2.4 |
>=3.0.0<3.2.4 | ||
>=4.1.2<4.2.0 |
https://github.com/jupyterhub/jupyter-server-proxy/commit/7abc9dc5bbb0b4b440548a5375261b8b8192fc22
https://github.com/jupyterhub/jupyter-server-proxy/commit/ff78128087e73fb9d0909e1366f8bf051e8ea878
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of CVE-2024-35225 is classified as moderate due to its reflected cross-site scripting (XSS) nature.
To fix CVE-2024-35225, upgrade jupyter-server-proxy to version 4.2.0 or 3.2.4.
jupyter-server-proxy versions between 4.0.0 and 4.2.0 as well as versions between 3.0.0 and 3.2.4 are affected by CVE-2024-35225.
CVE-2024-35225 is a reflected cross-site scripting (XSS) vulnerability.
The vulnerability occurs in the /proxy endpoint of jupyter-server-proxy when handling an invalid host path segment.