Skip to main content

JupyterLab CVE-2026-73416

MEDIUM
Improper Handling of Case Sensitivity (CWE-178)
2026-08-13 security-advisories@github.com
6.1
CVSS 4.0 · Vendor: github
Share

Severity by source

Vendor (github) PRIMARY
6.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.9 MEDIUM

AC:H because a custom blocklist configuration must be present; PR:L for authenticated requirement; C:N as the user already accesses their own server data.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
6.3 MEDIUM
qualitative

Primary rating from Vendor (github).

CVSS VectorVendor: github

CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 13, 2026 - 22:48 vuln.today
Analysis Generated
Aug 13, 2026 - 22:48 vuln.today
CVE Published
Aug 13, 2026 - 22:17 cve.org
MEDIUM 6.1

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 5 pypi packages depend on jupyterlab (2 direct, 3 indirect)

Ecosystem-wide dependent count for version 4.6.0.

DescriptionCVE.org

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.

AnalysisAI

JupyterLab's PyPI extension manager uses a weaker custom normalization instead of PyPI's canonical name resolution, enabling authenticated users to bypass administrator-configured package blocklists by submitting alternate spellings of blocked packages. Versions 4.5.0 through 4.5.9 and 4.6.0 through 4.6.1 are affected; fixed releases 4.5.10 and 4.6.2 are available. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Authenticate to JupyterLab as low-privileged user
Delivery
Identify target blocked in administrator blocklist
Exploit
Craft PyPI-equivalent alternate name spelling
Install
Submit install request via Extension Manager
C2
Weak normalization fails to match blocklist entry
Execute
pip resolves alternate spelling to blocked package
Impact
Prohibited extension installed and executed on server load

Vulnerability AssessmentAI

Exploitation Exploitation requires all three of the following simultaneously: (1) an administrator has configured a custom allowlist or blocklist via `blocked_extensions_uris` with the intent of restricting which PyPI packages users can install; (2) the default PyPI Extension Manager is enabled and has not been switched to `readonly` mode; and (3) kernels and terminals are disabled or delegated to remote hosts - if users retain direct kernel or terminal access, they can install packages via pip without needing the Extension Manager bypass at all. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 score of 6.1 (Medium) appropriately reflects the combination of network accessibility (AV:N), low-privilege requirement (PR:L), and the AT:P attribute indicating that specific preconditions must be present. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An authenticated user on a JupyterHub deployment that has blocklisted `jupyterlab-git` submits an install request for `JupyterLab.Git` through the Extension Manager UI. JupyterLab's weak normalization fails to match this spelling to the blocklist entry and accepts the request, after which pip resolves the alternate name to the identical blocked package and installs it. …
Remediation Upgrade to JupyterLab 4.5.10 (https://github.com/jupyterlab/jupyterlab/releases/tag/v4.5.10) or 4.6.2 (https://github.com/jupyterlab/jupyterlab/releases/tag/v4.6.2), which are the vendor-confirmed patched releases. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Vendor StatusVendor

SUSE

Severity: Moderate

Share

CVE-2026-73416 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy