Cross site scripting (XSS) in JupyterHub via Self-XSS leveraged by Cookie Tossing
Impact
Affected configurations:
- Single-origin JupyterHub deployments
- JupyterHub deployments with user-controlled applications running on subdomains or peer subdomains of either the Hub or a single-user server.
By tricking a user into visiting a malicious subdomain, the attacker can achieve an XSS directly affecting the former's session. More precisely, in the context of JupyterHub, this XSS could achieve the following:
- Full access to JupyterHub API and user's single-user server, e.g.
- Create and exfiltrate an API Token
- Exfiltrate all files hosted on the user's single-user server: notebooks, images, etc.
- Install malicious extensions. They can be used as a backdoor to silently regain access to victim's session anytime.
Patches
To prevent cookie-tossing:
- Upgrade to JupyterHub 4.1 (both hub and user environment)
- enable per-user domains via
c.JupyterHub.subdomain_host = "https://mydomain.example.org" - set
c.JupyterHub.cookie_host_prefix_enabled = Trueto enable domain-locked cookies
or, if available (applies to earlier JupyterHub versions):
- deploy jupyterhub on its own domain, not shared with any other services
- enable per-user domains via
c.JupyterHub.subdomain_host = "https://mydomain.example.org"
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | jupyterhub | < 4.1.0 | 4.1.0 |
References
- https://github.com/jupyterhub/jupyterhub/security/advisories/GHSA-7r3h-4ph8-w38g
- https://nvd.nist.gov/vuln/detail/CVE-2024-28233
- https://github.com/jupyterhub/jupyterhub/commit/e2798a088f5ad45340fe79cdf1386198e664f77f
- https://github.com/jupyterhub/jupyterhub
- https://pypi.org/project/jupyterhub
- https://github.com/advisories/GHSA-7r3h-4ph8-w38g
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N- Weakness (CWE)
CWE-352, CWE-565, CWE-79- Platform
- Python (PyPI)
- Package
jupyterhub- Disclosed
- 28.03.2024
- Updated
- 11.10.2026 15:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-1480 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-7r3h-4ph8-w38g - CC BY 4.0
Vulnerability history: jupyterhub
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 8
- First → latest
- 04.2019 08.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 2
- Medium 6
Disclosures per year
- 2019: 1
- 2020: 0
- 2021: 2
- 2022: 0
- 2023: 0
- 2024: 2
- 2025: 0
- 2026: 3
-
Cross site scripting (XSS) in JupyterHub via Self-XSS leveraged by Cookie Tossing this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.