GHSA-rch3-82jr-f9w9

Jupyter Notebook Vulnerable to Authentication Token Theft via CommandLinker XSS

At a glance

Published
Updated
CVE
CVE-2026-40171
Aliases
BIT-jupyter-base-notebook-2026-40171, BIT-jupyter-notebook-2026-40171, BIT-jupyterlab-2026-40171, PYSEC-2026-2538, PYSEC-2026-2682
CVSS_V4
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Description

### Impact A stored Cross-Site Scripting (XSS) vulnerability in Jupyter Notebook allows attackers to steal authentication tokens from users who open malicious notebook files and interact with elements that the attacker can make look indistinguishable from legitimate controls (single click interaction). The vulnerability enables complete account takeover through the Jupyter REST API, allowing the attacker to: 1. Read all files 2. Modify/create files 3. Access running kernels and execute arbitrary code 4. Create terminals for shell access ### Patches Jupyter Notebook 7.5.6 and JupyterLab 4.5.7 include patches for this vulnerability. ### Workarounds The help extension can be disabled via CLI: ``` jupyter labextension disable @jupyter-notebook/help-extension jupyter labextension disable @jupyterlab/help-extension ``` ### Hardening The patched versions include a toggle to disable the command linker functionality altogether, for example via `overrides.json`: ```json { "@jupyterlab/apputils-extension:sanitizer": { "allowCommandLinker": false } } ``` ### Resources - https://jupyterlab.readthedocs.io/en/latest/user/commands.html#commands-in-markdown-output-and-files ### Acknowledgments Reported by Daniel Teixeira - NVIDIA AI Red Team

Affected packages

PackageVersions
npm · @jupyter-notebook/help-extensionintroduced 7.0.0, fixed 7.5.6
PyPI · notebookintroduced 7.0.0, fixed 7.5.6
PyPI · jupyterlabintroduced 0, fixed 4.5.7
npm · @jupyterlab/help-extensionintroduced 0, fixed 4.5.7

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database