CVE-2026-86049
Jupyter Server is the backend for Jupyter web applications. Prior to version 2.21.0, the 5xx request logging path in jupyter_server/log.py copies the Referer header into a JSON header block without applying the token scrubbing used for the request URI. A request that returns HTTP 500 while the Referer contains a token-bearing URL can therefore write that token to server logs in plaintext. An attacker who can read those logs can recover the token and use the affected user's Jupyter Server permissions. This issue is fixed in version 2.21.0.
Not on KEV
Not in CISA's Known Exploited Vulnerabilities catalogue as of the last daily pull. Absence is not proof of safety.
—
FIRST has not scored this id yet.
7.1
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
—
No exposure census on this CVE's dispatches.
- nvd.nist.gov ↗
- first.org · EPSS ↗
- github.com/jupyter-server/jupyter_server/commit/52513529af7096e622c00911b17627b266294717 ↗
- github.com/jupyter-server/jupyter_server/pull/1681 ↗
- github.com/jupyter-server/jupyter_server/releases/tag/v2.21.0 ↗
- github.com/jupyter-server/jupyter_server/security/advisories/GHSA-c3mw-737p-c7g2 ↗
Watch this one?
Early access opens alerts first — one email when a CVE you follow lands on KEV or an adversary you follow lands on the wire. Nothing else, ever.