CVE-2026-40934 json
jupyter-server authentication cookies remain valid after password reset due to static cookie secret
published 2026-05-05 6 mo ago modified 2026-09-10 1 mo ago also GHSA-5mrq-x3x5-8v8f , PYSEC-2026-69 , EUVD-2026-27513
- cvss
- 6.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 26%
- public exploits
- 0
- none known
Summary
Jupyter Server is the backend for Jupyter web applications. In versions 2.17.0 and earlier, the secret used to sign authentication cookies is persisted to a static file at ~/.local/share/jupyter/runtime/jupyter_cookie_secret and is never rotated when a user changes their password. After a password reset and server restart, any previously issued authentication cookie remains cryptographically valid because the signing key has not changed. An attacker who has captured a session cookie through any means retains full authenticated access to the server regardless of subsequent password changes. This affects deployments using password-based authentication, particularly shared or public-facing servers where credential rotation is expected to revoke existing sessions. This issue has been fixed in version 2.18.0.
Patch / fix
- pypi jupyter-server 2.18.0
- jupyter jupyter_server 2.18.0
- jupyter-server Debian 14 2.20.0-1
debian advisories DEBIAN-CVE-2026-40934
- python-jupyter-server openSUSE Tumbleweed 2.18.1-1.1
opensuse advisories openSUSE-SU-2026:10710-1
- jupyter-server Alpine 3.24 2.18.2-r0
alpine advisories ALPINE-CVE-2026-40934
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-40934 updated cvss 6.8
jupyter-server: Jupyter Server: Authentication bypass due to unrotated cookie secret
-
Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9 Red Hat OpenShift AI (RHOAI) rhoai/odh-th06-cpu-torch210-py312-rhel9, rhoai/odh-th06-cpu-torch291-py312-rhel9, rhoai/odh-th06-rocm64-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch210-py312-rhel9, rhoai/odh-th06-cuda130-torch291-py312-rhel9, rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9, +9 moreaffected: no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 6 mo ago
Exploit prediction
0.33% chance of exploitation in the next 30 days, higher than 26% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-5mrq-x3x5-8v8f referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 7.6 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 7.6 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 6.8 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | jupyter-server | <2.18.0 |
2.18.0 |
Affected products
- jupyter-server jupyter_server
Classification
- Weakness
-
- CWE-613 DEPRECATED: Insufficient Session Expiration
References
-
github.com
/jupyter-server/jupyter_server/security/advisories/GHSA-5mrq-x3x5-8v8f
web, exploit, mitigation, vendor-advisory, evidence
-
nvd.nist.gov
/vuln/detail/CVE-2026-40934
advisory
-
github.com
/jupyter-server/jupyter_server
package
-
github.com
/pypa/advisory-database/tree/main/vulns/jupyter-server/PYSEC-2026-69.yaml
web
Sources
- CVE List CVE-2026-40934
- GitHub Advisory GHSA-5mrq-x3x5-8v8f
- NVD CVE-2026-40934
- OSV PYSEC-2026-69
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.