Jupyter Server: 5xx request logging leaks token-bearing Referer header values
### Summary When a request returns a 500, `jupyter_server/log.py` logs a small JSON block of request headers. The Referer header was copied into it as-is, so a token in the Referer URL ended up in the logs in plain text. ### Impact Anyone who can read the server logs can pick tokens out of these 500 entries. Tokens end up in the Referer during normal token-based login and launch flows. Affected: all versions before 2.21.0. ### PoC Any malformed request that returns a 500 works: ```bash curl -i -X POST \ -H 'Content-Type: application/json' \ -H 'Referer: http://127.0.0.1:8899/tree?token=REFERTOKEN' \ --data '{"name":123}' \ 'http://127.0.0.1:8899/api/kernels?token=VALIDTOKEN' ``` The log shows the token twice, once raw and once redacted: ``` "Referer": "http://127.0.0.1:8899/tree?token=REFERTOKEN", [E ... ServerApp] 500 POST /api/kernels?token=[secret] (...) referer=http://127.0.0.1:8899/tree?token=[secret] ``` ### Patches Fixed in 2.21.0 by 5251352. Header values are now scrubbed before the block is logged. Upgrade to 2.21.0 or later. ### Workarounds Limit who can read the server logs. If you can, avoid flows that put the token in the URL.
beschreibt (1)
Zugehörige CVEs.
| ID | Schweregrad | ausnutzbar | ||
|---|---|---|---|---|
| CVE-2026-86049US | — | — | ||
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 hea… | ||||
Referenzen
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/advisories/GHSA-c3mw-737p-c7g2ADVISORY
- https://github.com/jupyter-server/jupyter_serverPACKAGE
- https://github.com/jupyter-server/jupyter_server/commit/52513529af7096e622c00911b17627b266294717WEB
- https://github.com/jupyter-server/jupyter_server/pull/1681WEB
- https://github.com/jupyter-server/jupyter_server/releases/tag/v2.21.0WEB
- https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-c3mw-737p-c7g2WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-86049ADVISORY
- https://pypi.org/project/jupyter-serverPACKAGE
Advisories wie diese benennen die exponierten Produkte, die Angreifer auf Ihrer Angriffsfläche ins Visier nehmen. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan