GHSA-m68r-v472-jgq9
JupyterHub has cross-origin form POSTs bypass XSRF (CWE-352)
At a glance
- Published
- Updated
- CVE
- CVE-2026-40864
- Aliases
- BIT-jupyterhub-2026-40864, PYSEC-2026-2189
- CVSS_V3
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L
Description
## Summary JupyterHub's XSRF protection (updated in 4.1.0) inappropriately treated requests with `Sec-Fetch-Mode: no-cors` as same-origin requests, which they are not, bypassing XSRF checks. The JSON API is not affected, only HTTP form endpoints, such as `/hub/spawn` and `/hub/accept-share`, meaning attackers could trigger server spawn (but not access the server) and if the attacker is a JupyterHub user permitted to share access to their server, cause a user to accept a share and have access to the attacker's server. ## Patches Upgrade to JupyterHub 5.4.5. ## Mitigations If a reverse proxy is in use, drop requests to JupyterHub with `Sec-Fetch-Mode: no-cors`.
Affected packages
| Package | Versions |
|---|---|
| PyPI · jupyterhub | introduced 4.1.0, fixed 5.4.5 |
References
- https://github.com/jupyterhub/jupyterhub/security/advisories/GHSA-m68r-v472-jgq9 WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-40864 ADVISORY
- https://github.com/jupyterhub/jupyterhub/commit/9c5ec277d3cda5a59de2d8c8117efa77bd941127 WEB
- https://github.com/jupyterhub/jupyterhub PACKAGE
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |