CVE-2026-102832
4.2MediumPublished 13 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
- Impact
- Limited impact
- Weakness
- CWE-367, CWE-863
Impact
Attackers can trick users into automatically executing untrusted notebook code or command buttons without security prompts. This requires a victim to switch tabs to an untrusted document while answering a trust confirmation prompt in another document.
Root cause
The trust handlers evaluate tracker.currentWidget when the confirmation dialog is answered instead of binding to the document that initially triggered the prompt.
Affected systems
JupyterLab 4.5.7 up to 4.5.11, and versions prior to 4.6.4 (including bundled Notebook and JupyterLite releases).
CVSS v3.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
Fix & remediation
Upgrade JupyterLab to version 4.5.11, 4.6.4, or later. No workaround or configuration mitigation is documented; avoid switching active document tabs while responding to trust prompts until patched.
$ pip install --upgrade 'jupyterlab>=4.6.4'AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From 4.5.7 until 4.5.11 and 4.6.4, the markdownviewer:trust and notebook:trust command-link handlers use tracker.currentWidget to resolve the current Markdown viewer or notebook when the user answers rather than retaining the document whose command button was clicked. If another document becomes current while the prompt is open and the user chooses Trust, JupyterLab marks the second document trusted while leaving the clicked document untrusted. Later command buttons in the incorrectly trusted document run without a prompt, and trusting a notebook marks all cells trusted, saves unsaved edits, and persists the server signature to disk. Applications that bundle JupyterLab, including affected Notebook and JupyterLite releases, inherit the behavior. This issue is fixed in versions 4.5.11 and 4.6.4.
References
- https://github.com/jupyterlab/jupyterlab/commit/0fc18ab4ef67e431a8f6560e387193baf786c70a
- https://github.com/jupyterlab/jupyterlab/commit/b64bc88b8ca034cf158604a5cc48ca9170ea453b
- https://github.com/jupyterlab/jupyterlab/commit/f7e5f9803fdf2aaaa0e9bfb9cc73386a8cc5f0b2
- https://github.com/jupyterlab/jupyterlab/releases/tag/v4.5.11
- https://github.com/jupyterlab/jupyterlab/releases/tag/v4.6.4
- https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-jwrc-gm9j-263p