Skip to content
Heist/ feed
Back to feed
High

jupyter-server — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-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.

Products
jupyter-server
Affected versions
1.13.1-1, 1.2.2-1, 1.23.3-1, 1.23.3-2, 2.15.0-1, 2.17.0-1, 2.20.0-3
Fixed versions
Not specified
CVEs
CVE-2026-86049
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 03:24 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-86049

core-osv · Original source

Published 17 Sept 2026, 21:17 UTC

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.

osv:UBUNTU-CVE-2026-86049

jupyter-server

Fixed versions: Not specified

jupyter-server

Fixed versions: Not specified

jupyter-server

Fixed versions: Not specified

jupyter-server

Fixed versions: Not specified

Complete source record
{
  "id": "5155f85aeb0adaf0b4a9868495ecbb6f62b7fa2e03cb2a2efc895c6d7de8affc",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-86049",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-86049",
    "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 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.",
    "evidence": "osv:UBUNTU-CVE-2026-86049",
    "products": [
      {
        "name": {
          "value": "jupyter-server",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.2-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "1.13.1-1",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "jupyter-server",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.23.3-1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "1.23.3-2",
            "evidence": "/affected/1/versions"
          }
        ]
      },
      {
        "name": {
          "value": "jupyter-server",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "2.17.0-1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "2.20.0-3",
            "evidence": "/affected/2/versions"
          }
        ]
      },
      {
        "name": {
          "value": "jupyter-server",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "2.15.0-1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "2.17.0-1",
            "evidence": "/affected/3/versions"
          }
        ]
      }
    ],
    "severity": "high",
    "structured": {
      "id": "UBUNTU-CVE-2026-86049",
      "aliases": [
        "UBUNTU-CVE-2026-86049"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "jupyter-server",
            "purl": "pkg:deb/ubuntu/jupyter-server?arch=source&distro=jammy",
            "ecosystem": "Ubuntu:22.04:LTS"
          },
          "versions": [
            "1.2.2-1",
            "1.13.1-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-86049.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "jupyter-server",
                "binary_version": "1.13.1-1"
              },
              {
                "binary_name": "python3-jupyter-server",
                "binary_version": "1.13.1-1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "jupyter-server",
            "purl": "pkg:deb/ubuntu/jupyter-server?arch=source&distro=noble",
            "ecosystem": "Ubuntu:24.04:LTS"
          },
          "versions": [
            "1.23.3-1",
            "1.23.3-2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-86049.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "jupyter-server",
                "binary_version": "1.23.3-2"
              },
              {
                "binary_name": "python3-jupyter-server",
                "binary_version": "1.23.3-2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "jupyter-server",
            "purl": "pkg:deb/ubuntu/jupyter-server?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "2.17.0-1",
            "2.20.0-3"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-86049.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "jupyter-server",
                "binary_version": "2.20.0-3"
              },
              {
                "binary_name": "python3-jupyter-server",
                "binary_version": "2.20.0-3"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "jupyter-server",
            "purl": "pkg:deb/ubuntu/jupyter-server?arch=source&distro=resolute",
            "ecosystem": "Ubuntu:26.04:LTS"
          },
          "versions": [
            "2.15.0-1",
            "2.17.0-1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-86049.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "jupyter-server",
                "binary_version": "2.17.0-1"
              },
              {
                "binary_name": "python3-jupyter-server",
                "binary_version": "2.17.0-1"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T13:01:13.768149658Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-86049"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-86049",
        "https://www.cve.org/CVERecord?id=CVE-2026-86049",
        "https://github.com/jupyter-server/jupyter_server/security/advisories/GHSA-c3mw-737p-c7g2",
        "https://github.com/jupyter-server/jupyter_server/pull/1681",
        "https://github.com/jupyter-server/jupyter_server/commit/52513529af7096e622c00911b17627b266294717",
        "https://github.com/jupyter-server/jupyter_server/releases/tag/v2.21.0"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-86049",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 361323,
  "published_at": "2026-09-17T21:17:00+00:00"
}