CVE-2026-102832

LOWCVSS 4.2 · MEDIUM

Signal is active with 1 mentions in latest observed window

Immediate actions

  • Track advisory updates for patch or workaround availability

Recommended action window: Monitor and triage in normal cycle

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.

0.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-367CWE-863

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

NONE

Momentum

NONE

Threat summary

  • 1 mentions across 1 observed day

What's happening

  • 1 total mentions across 1 day

Deep dive

Activity timeline1 mentions / 1d
00111Mentions · 2026-10-16: 110-16
Referenced assets1 URL
Full discourse1 post
  • Checkmarx Zero@CheckmarxZero

    A low-risk (in practice, despite the Medium severity) JupyterLab vulnerability (CVE-2026-102832) is an example of a bug class every developer should recognize: time-of-check to time-of-use (TOCTOU). Credit to rexpository for reporting it, and to MUFFANUJ and krassowski for the fix and coordination. The flow: you click a button in a Markdown file or notebook, and JupyterLab asks whether to Cancel, Run Once, or Trust. You're deciding about the document you clicked in. But the code applies "Trust" to whichever document is current when you answer. If another document becomes current while the prompt is open, that one gets trusted instead, and the one you were reading stays untrusted. The app is checking for permission for one thing, but using that permission assuming "what's current" won't have changed. The lesson: when a user approves something, bind the approval to the exact object they saw, not to "whatever is current" later. That's what the fix does. The trust request now carries the document that was clicked, and the command runs only after that same document is marked. 🟢 Should you worry? Not much. It takes a notebook or Markdown file from someone else, a click, a Trust answer, and a second document becoming current at exactly the wrong moment. The advisory itself rates the complexity high and treats this as defense in depth. If you run JupyterLab: update to 4.5.11 or 4.6.4 (Notebook 7.6.3 and jupyterlite-core 0.8.4 carry the fix too). Until then, choose Run Once instead of Trust. If you write code with confirm prompts, approval dialogs, or async handlers: check what each one resolves at answer time. Read the full advisory: https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-jwrc-gm9j-263p #AppSec #SecureCoding #Jupyter

    1001063
    251 followersView on X

Explore more