| Name | CVE-2026-40934 |
| Description | 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| Debian Bugs | 1136022 |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|
| jupyter-server (PTS) | bullseye | 1.2.2-1 | vulnerable |
| bookworm | 1.23.3-1 | vulnerable |
| trixie | 2.15.0-1 | vulnerable |
| forky, sid | 2.20.0-3 | fixed |
The information below is based on the following data on fixed versions.
Notes
[trixie] - jupyter-server <no-dsa> (Minor issue)
[bookworm] - jupyter-server <postponed> (Minor issue; cookie_secret_file persistence present, revisit with next update)
[bullseye] - jupyter-server <postponed> (Minor issue; cookie_secret_file persistence present, revisit with next update)
https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-5mrq-x3x5-8v8f