JupyterLab Git: Stored XSS leading to RCE
Published Jul 8, 2026
9.3
CRITICALCVSS 4.0
EPSS 0.53%
Description
JupyterLab Git is a Git extension for JupyterLab. From 0.30.0b3 before 0.54.0, the PlainTextDiff.ts createHeader() method passes Git filenames directly to innerHTML when rendering renamed files in commit history, allowing a crafted filename to execute JavaScript when a victim views the rename diff in the Git History tab. This issue is fixed in version 0.54.0.
Affected products
-
- Version >= 0.30.0b3, < 0.54.0StatusaffectedConstraints-
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Jupyterlab | Jupyterlab-Git | n/a |
|
- ≥ 0.30.1 · < 0.54.0
- 0.30.0
- 0.30.0
No data.
No Red Hat product state for this CVE.
jupyterlab-git
PyPI
Introduced 0.30.0b3 Fixed 0.54.0jupyterlab-git-core
PyPI
Introduced 0.30.0b3 Fixed 0.54.0@jupyterlab/git
npm
Introduced 0.30.0-beta.3 Fixed 0.54.0
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | jupyterlab-git | 0.30.0b3 | 0.54.0 |
| PyPI | jupyterlab-git-core | 0.30.0b3 | 0.54.0 |
| npm | @jupyterlab/git | 0.30.0-beta.3 | 0.54.0 |
Remediation
No remediation recorded yet.
Metrics
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
2 other sources (GitHub, NVD) ▾
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
No CVSS v3.0 score for this CVE.
No CVSS v2.0 score for this CVE.
This CVE is not in the KEV list.
CISA SSVC (Vulnrichment)
Stakeholder-Specific Vulnerability Categorization from CISA ADP.
Exploitation
PoCAutomatable
NoTechnical Impact
PartialDecision
n/aAssessed Jul 9, 2026 · SSVC 2.0.3
Estimated probability of exploitation in the wild in the next 30 days (FIRST EPSS). As of Oct 1, 2026.
Score over time
Jul–Oct 2026- EPSS v5
Percentile over time
- EPSS v5
Table of values (2 key points)
Flat stretches are collapsed; showing up to 120 newest points.
| Date | Score | Percentile | Model |
|---|---|---|---|
| Oct 1, 2026 | 0.53% (0.00529) | 42.64th | v5 (v2026.06.15) |
| Jul 9, 2026 | 0.28% (0.00284) | 20.28th | v5 (v2026.06.15) |
References (10)
- https://github.com/advisories/GHSA-f962-v9hr-pfg5 Advisory
- https://github.com/jupyterlab/jupyterlab-git
- https://github.com/jupyterlab/jupyterlab-git/commit/c6d37b88f36aa59aee317930b95e427fb9d6b09b x_refsource_MISCPatch
- https://github.com/jupyterlab/jupyterlab-git/releases/tag/v0.54.0 x_refsource_MISCRelease Notes
- https://github.com/jupyterlab/jupyterlab-git/security/advisories/GHSA-f962-v9hr-pfg5 exploitx_refsource_CONFIRMMitigationVendor Advisory
- https://github.com/pypa/advisory-database/tree/main/vulns/jupyterlab-git-core/PYSEC-2026-2541.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/jupyterlab-git/PYSEC-2026-2540.yaml
- https://nvd.nist.gov/vuln/detail/CVE-2026-54527
- https://pypi.org/project/jupyterlab-git
- https://pypi.org/project/jupyterlab-git-core
Change history (0)
No recorded changes yet.