jupyter-server authentication cookies remain valid after password reset due to static cookie secret
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Partial Red Hat: 2 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-613.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jupyterlab | jupyter_server | before 2.18.0 | 2.18.0 | Patch available | CNA |
| — | jupyter-server (PyPI) | before 2.18.0 | 2.18.0 | Patch available | GHSA-5mrq-x3x5-8v8f |
- jupyter_server Vendorjupyterlab Affected before 2.18.0 Fixed in 2.18.0 Patch available CNA
- jupyter-server (PyPI) Vendor— Affected before 2.18.0 Fixed in 2.18.0 Patch available GHSA-5mrq-x3x5-8v8f
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:jupyter:jupyter_server:*:*:*:*:*:*:*:* | before 2.18.0 | Vulnerable | jupyterlab |
- cpe:2.3:a:jupyter:jupyter_server:*:*:*:*:*:*:*:* Versions before 2.18.0 Vulnerable ·jupyterlab
Remediation
- Fix · CNA jupyter_server (jupyter-server) Fixed in 2.18.0
- Fix · GHSA-5mrq-x3x5-8v8f jupyter-server (PyPI) Fixed in 2.18.0 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Migration Toolkit for Applications 8 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40934
- 2026-10-03 Alias added: GHSA-5mrq-x3x5-8v8f
References
More jupyterlab Jupyter Server vulnerabilities
- TI-2026-05842 CORS Origin Validation Bypass in jupyter-server CVSS 3.1HIGH 8.8
- TI-2026-04748 Path Traversal in jupyter/jupyter CVSS 3.1HIGH 8.1
- TI-2026-27533 jupyter-server path traversal allows access to sibling directories sharing root_dir name prefix CVSS 4.0HIGH 7.6
- TI-2025-38102 jupyter_server next parameter open redirect can redirect users to external domains CVSS 4.0MEDIUM 6.3
- TI-2026-32614 Jupyter Server: Stored XSS in `NbconvertFileHandler` / `NbconvertPostHandler` via missing `sandbox` CSP CVSS 4.0CRITICAL 9.3
- TI-2024-23252 Jupyter server on Windows discloses Windows user password hash CVSS 3.1HIGH 7.5
Sources
- CVE-2026-40934 · CVE Program
- CVE-2026-40934 · NVD
- FIRST EPSS
- GHSA-5mrq-x3x5-8v8f · GitHub Advisory Database · CC BY 4.0
- CVE-2026-40934 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences