Skip to content
Fencer Vulns
medium 5.4

CVE-2026-102904 json

JupyterLab: Argument injection in JupyterLab extension uninstall exposes server-readable files and internal URLs

published 2026-09-29 40 d ago modified 2026-10-06 33 d ago also BIT-jupyterlab-2026-102904 , EUVD-2026-89459 , GHSA-3325-v43h-43rv , PYSEC-2026-4055

cvss
5.4
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 10%
public exploits
0
none known

Summary

JupyterLab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From JupyterLab 4.0.0 until 4.5.11 and 4.6.4, the PyPI Extension Manager uninstall request reaches ExtensionHandler.post, which validates extension names for installation but passes uninstall names to PyPIExtensionManager.uninstall and python -m pip uninstall without rejecting option-like values. The security impact requires that the PyPI Extension Manager is enabled, the account can call the extension API, and kernels and terminals are disabled or delegated to remote hosts; otherwise the user can already read files and make outbound requests directly. An authenticated user with extension API access can supply a pip requirements option to make the server read a local file or fetch an internal URL, and reflected parse errors can return the first unparsable line or response content. A pip log option can also create or corrupt a chosen path with pip-generated log text, but the requester cannot select an arbitrary disclosed line or arbitrary file content, and the injection does not add code execution or availability impact beyond ordinary package removal. This issue is fixed in JupyterLab 4.5.11 and 4.6.4.

Patch / fix

  • pypi jupyterlab 4.5.11, 4.6.4
  • bitnami jupyterlab 4.5.11, 4.6.4
  • jupyter jupyterlab 4.5.11, 4.6.4
  • python-jupyterlab openSUSE Tumbleweed 4.5.11-1.1

opensuse advisories openSUSE-SU-2026:11945-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-102904 updated cvss 5.4

jupyterlab: JupyterLab: Information disclosure via extension uninstallation argument injection

  • Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-feature-server-rhel9, rhoai/odh-th-torch-cpu-py312-rhel9, rhoai/odh-th-torch-cuda-py312-rhel9, rhoai/odh-th-torch-rocm-py312-rhel9, rhoai/odh-th06-cpu-torch210-py312-rhel9, rhoai/odh-th06-cpu-torch291-py312-rhel9, +14 more
    affected: workaround, no fix available “Fix deferred”

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
39 d ago

Exploit prediction

0.21% chance of exploitation in the next 30 days, higher than 10% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
GitHub 3.1 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
OSV 3.1 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N

Affected packages

ecosystem package affected fixed in
pypi jupyterlab
>=4.6.0, <4.6.4
>=4.0.0, <4.5.11
4.6.4
4.5.11
bitnami jupyterlab
>=4.0.0, <4.5.11
>=4.6.0, <4.6.4
4.5.11
4.6.4

Affected products

  • jupyterlab jupyterlab

Classification

Weakness
  • CWE-88 Improper Neutralization of Argument Delimiters in a Command
  • CWE-209 Generation of Error Message Containing Sensitive Information
  • CWE-918 Server-Side Request Forgery

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.