GitHub Advisoryadvisory · PyPI

GHSA-5mrq-x3x5-8v8f Jupyter Server's Authentication Cookies Remain Valid After Password Reset and Server Restart

HIGH Published 2026-05-05 Modified 2026-06-06 Official page ↗
Aliases
CVE-2026-40934
Ecosystem
PyPI
Packages
jupyter-server
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N
Weaknesses
CWE-613
Reviewed
2026-05-05

Affected packages

• PyPI jupyter-server: < 2.18.0 → fixed in 2.18.0

Description

Summary A persistent cookie secret vulnerability allows authenticated users to maintain indefinite access even after password changes. The cookie secret used to sign authentication cookies is stored in a permanent file (`~/.local/share/jupyter/runtime/jupyter_cookie_secret`) that is never automatically rotated or cleared, allowing stolen or compromised cookies to remain valid indefinitely regardless of password resets. PoC • Start a Jupyter server with password authentication: `jupyter server password`, `jupyter server` • Log in with the password and capture the authentication cookie (e.g., just login with a browser). • Change the password to revoke access: `jupyter server password` • Restart the server • Use the old stolen cookie => remains valid and provides full authenticated access. Impact • All jupyter-server deployments using password authentication where security incidents may occur • Multi-user systems where one user's compromised session should be revocable by administrators • Shared or public-facing Jupyter servers where credential rotation is a security requirement • Any deployment where password changes are expected to revoke existing sessions Patches Jupyter Server 2.18+ Workaround ```bash rm ~/.local/share/jupyter/runtime/jupyter_cookie_secret Then restart the server ```

Related

Weakness · not in database (1)

Alias · CVE (1)

  • CVE-2026-40934 Jupyter Server is the backend for Jupyter web applications. vulnerability

References