Impact
The vulnerability exists because Jupyter Server versions 2.17.0 and earlier use a static file to store the secret that signs authentication cookies, and this secret is never rotated when a user changes their password. Consequently, any cookie that was valid before a password reset remains cryptographically valid after the password is changed and the server is restarted. An attacker who has captured such a cookie retains full authenticated access, even though the user’s credentials have been updated, effectively bypassing the expected session revocation behavior. This is a classic example of a credential validation weakness (CWE-613).
Affected Systems
The affected product is Jupyter Server, specifically the jupyter_server component. Versions 2.17.0 and earlier are impacted; the issue was resolved in version 2.18.0.
Risk and Exploitability
The CVSS score of 7.6 indicates a high severity, and although the EPSS score is not available, the vulnerability is not listed in CISA KEV. An attacker can exploit this by acquiring a session cookie through various means such as network interception or local compromise; once the cookie is in hand, the attacker can impersonate the user even after the password has been changed. The lack of cookie rotation makes the session hijack persistent, posing a significant confidentiality and integrity risk to users and administrators.
OpenCVE Enrichment
Github GHSA