---
id: CVE-2026-86049
title: Jupyter Server is the backend for Jupyter web applications
summary: >-
  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 t…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H'
cwe:
  - CWE-532
vendor: jupyter-server
product: jupyter_server
affected:
  - jupyter_server < 2.21.0
patched:
  - jupyter_server 2.21.0
published: '2026-09-17'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T21:19:05.340'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-86049'
references:
  - url: >-
      https://github.com/jupyter-server/jupyter_server/commit/52513529af7096e622c00911b17627b266294717
    label: security-advisories@github.com
  - url: 'https://github.com/jupyter-server/jupyter_server/pull/1681'
    label: security-advisories@github.com
  - url: 'https://github.com/jupyter-server/jupyter_server/releases/tag/v2.21.0'
    label: security-advisories@github.com
  - url: >-
      https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-c3mw-737p-c7g2
    label: security-advisories@github.com
  - url: 'https://github.com/advisories/GHSA-c3mw-737p-c7g2'
  - url: 'https://github.com/jupyter-server/jupyter_server'
tags:
  - nvd
  - cve.org
  - ghsa
  - pip
  - osv
epss: 0.00416
epssPercentile: 0.33225
aliases:
  - GHSA-c3mw-737p-c7g2
ecosystem: pip
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-09-18T17:24:12.266474Z'
ingestedAt: '2026-09-17T21:29:16.986Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-86049)

Affected packages:

- `jupyter_server <= 2.20.0`

Patched in:

- `jupyter_server 2.21.0`

Source: https://github.com/advisories/GHSA-c3mw-737p-c7g2
