6.1 MEDIUM
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): Present (P)
- Privileges Required (PR): Low (L)
- User Interaction (UI): None (N)
- Vulnerable System Impact Confidentiality (VC): Low (L)
- Vulnerable System Impact Integrity (VI): High (H)
- Vulnerable System Impact Availability (VA): Low (L)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): Present (P)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): None (N)
- Modified Vulnerable System Impact Confidentiality (MVC): Low (L)
- Modified Vulnerable System Impact Integrity (MVI): High (H)
- Modified Vulnerable System Impact Availability (MVA): Low (L)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
jupyterlab: PyPI extension blocklist package-name canonicalization bypass
jupyterlab is an extensible environment for interactive and reproducible computing, based on the Jupyter Notebook Architecture. From 4.5.0 until 4.5.10 and 4.6.2, in jupyterlab/extensions/manager.py and jupyterlab/extensions/pypi.py, JupyterLab's PyPI extension manager enforces blocked_extensions_uris by comparing requested install names to blocklist entries with custom normalization that is weaker than PyPI package-name canonicalization. An authenticated user can request a PyPI-equivalent spelling such as JupyterLab.Git for a blocklisted package such as jupyterlab-git, and JupyterLab accepts the install request even though pip resolves the variant to the same package. Security impact requires an allowlist or blocklist intended to restrict package installation, the PyPI Extension Manager, and kernels and terminals that are disabled or delegated to remote hosts. The bypass lets an authenticated user install a prohibited extension, defeat integrity restrictions, and affect availability without gaining new read access. This issue is fixed in versions 4.5.10 and 4.6.2.
References
-
https://github.com/jupyterlab/jupyterlab/security/advisories/GHSA-89vp-jrxv-24w8 x_refsource_CONFIRM
-
https://github.com/jupyterlab/jupyterlab/pull/19184 x_refsource_MISC
-
https://github.com/jupyterlab/jupyterlab/pull/19185 x_refsource_MISC
-
https://github.com/jupyterlab/jupyterlab/pull/19186 x_refsource_MISC
-
https://github.com/jupyterlab/jupyterlab/releases/tag/v4.5.10 x_refsource_MISC
-
https://github.com/jupyterlab/jupyterlab/releases/tag/v4.6.2 x_refsource_MISC
-
https://github.com/jupyterlab/jupyterlab/releases/tag/v4.7.0a1 x_refsource_MISC
Affected products
- ==>= 4.5.0, < 4.5.10
- ==>= 4.6.0, < 4.6.2
Matching in nixpkgs
pkgs.python313Packages.jupyterlab
Jupyter lab environment notebook server extension
pkgs.python314Packages.jupyterlab
Jupyter lab environment notebook server extension
pkgs.python313Packages.jupyterlab-git
Jupyter lab extension for version control with Git
pkgs.python313Packages.jupyterlab-lsp
Language Server Protocol integration for Jupyter(Lab)
pkgs.python313Packages.jupyterlab-vim
Vim notebook cell bindings for JupyterLab
pkgs.python314Packages.jupyterlab-git
Jupyter lab extension for version control with Git
pkgs.python314Packages.jupyterlab-lsp
Language Server Protocol integration for Jupyter(Lab)
pkgs.python314Packages.jupyterlab-vim
Vim notebook cell bindings for JupyterLab
pkgs.python313Packages.jupyterlab-server
Set of server components for JupyterLab and JupyterLab like applications
pkgs.python314Packages.jupyterlab-server
Set of server components for JupyterLab and JupyterLab like applications
pkgs.python313Packages.jupyterlab-git-core
Core package for the JupyterLab Git extension
-
nixos-unstable -
- nixos-unstable-small 0.54.0
pkgs.python313Packages.jupyterlab-pygments
Jupyterlab syntax coloring theme for pygments
pkgs.python314Packages.jupyterlab-git-core
Core package for the JupyterLab Git extension
-
nixos-unstable -
- nixos-unstable-small 0.54.0
pkgs.python314Packages.jupyterlab-pygments
Jupyterlab syntax coloring theme for pygments
pkgs.python313Packages.jupyterlab-execute-time
JupyterLab extension for displaying cell timings
Package maintainers
-
@GaetanLepage Gaetan Lepage <gaetan@glepage.com>
-
@thomasjm Tom McLaughlin <tom@codedown.io>
-
@natsukium Tomoya Otabi <nixpkgs@natsukium.com>
-
@vglfr vglfr <vf.velt@gmail.com>
-
@chiroptical Barry Moore II <chiroptical@gmail.com>
-
@mart-mihkel Mart-Mihkel Aun <mart.mihkel.aun@gmail.com>