CVE-2026-40864 json
JupyterHub: Cross-origin form POSTs bypass XSRF
published 2026-05-05 6 mo ago modified 2026-09-10 1 mo ago also BIT-jupyterhub-2026-40864 , EUVD-2026-31499 , GHSA-m68r-v472-jgq9 , PYSEC-2026-2189
- cvss
- 5.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 3%
- public exploits
- 0
- none known
Summary
JupyterHub is software that allows users to create a multi-user server for Jupyter notebooks. In versions 4.1.0 through 5.4.4, XSRF protection (updated in 4.1.0) inappropriately treated requests with Sec-Fetch-Mode: no-cors as same-origin requests, 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. This issue has been fixed in version 5.4.5. If developers are unable to immediately upgrade, they can temporarily mitigate this issue by dropping requests to JupyterHub with Sec-Fetch-Mode: no-cors if they are using a reverse proxy.
Patch / fix
- pypi jupyterhub 5.4.5
- bitnami jupyterhub 5.4.5
- jupyter jupyterhub 5.4.5
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.15% chance of exploitation in the next 30 days, higher than 3% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L |
| GitHub | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L |
| NVD | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N |
| OSV | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jupyterhub | >=4.1.0, <5.4.5 |
5.4.5 |
| bitnami | jupyterhub | >=4.1.0, <5.4.5 |
5.4.5 |
Affected products
- jupyterhub jupyterhub
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
References
-
github.com
/jupyterhub/jupyterhub/commit/9c5ec277d3cda5a59de2d8c8117efa77bd941127
web, patch
-
github.com
/jupyterhub/jupyterhub/security/advisories/GHSA-m68r-v472-jgq9
web, mitigation, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-40864
advisory, web
-
github.com
/jupyterhub/jupyterhub
package
Sources
- CVE List CVE-2026-40864
- GitHub Advisory GHSA-m68r-v472-jgq9
- NVD CVE-2026-40864
- OSV BIT-jupyterhub-2026-40864
- OSV PYSEC-2026-2189
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.