Skip to content

Jupyter Server Proxy has a reflected XSS issue in host parameter

Critical severity GitHub Reviewed Published Jun 11, 2024 in jupyterhub/jupyter-server-proxy • Updated Jun 12, 2024

Package

pip jupyter-server-proxy (pip)

Affected versions

>= 3.0.0, < 3.2.4
>= 4.0.0, < 4.2.0

Patched versions

3.2.4
4.2.0

Description

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

References

@manics manics published to jupyterhub/jupyter-server-proxy Jun 11, 2024
Published to the GitHub Advisory Database Jun 11, 2024
Reviewed Jun 11, 2024
Published by the National Vulnerability Database Jun 11, 2024
Last updated Jun 12, 2024

Severity

Critical
9.7
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

CVE ID

CVE-2024-35225

GHSA ID

GHSA-fvcq-4x64-hqxr

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.