CVE-2026-54528
Full vulnerability record from the local CVENow database.
Description
JupyterLab Git is a Git extension for JupyterLab. Prior to 0.54.0, jupyterlab-git uses fnmatch.fnmatchcase() in GitHandler.prepare() in jupyterlab_git/handlers.py to enforce excluded_paths, allowing an authenticated user on a case-insensitive filesystem to vary URL path casing and read excluded directories. This issue is fixed in version 0.54.0.
Severity
HIGH
CVSS score
7.1
(v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-07-08 21:16:49.407000
Last modified
2026-10-25 17:10:00.197000
View original CVE JSON
{
"id": "CVE-2026-54528",
"sourceIdentifier": "[email protected]",
"published": "2026-07-08T21:16:49.407",
"lastModified": "2026-10-25T17:10:00.197",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "JupyterLab Git is a Git extension for JupyterLab. Prior to 0.54.0, jupyterlab-git uses fnmatch.fnmatchcase() in GitHandler.prepare() in jupyterlab_git/handlers.py to enforce excluded_paths, allowing an authenticated user on a case-insensitive filesystem to vary URL path casing and read excluded directories. This issue is fixed in version 0.54.0."
},
{
"lang": "es",
"value": "JupyterLab Git es una extensión de Git para JupyterLab. Antes de la versión 0.54.0, jupyterlab-git utiliza fnmatch.fnmatchcase() en GitHandler.prepare() en jupyterlab_git/handlers.py para aplicar excluded_paths, permitiendo a un usuario autenticado en un sistema de archivos que no distingue entre mayúsculas y minúsculas variar el uso de mayúsculas y minúsculas en la ruta de la URL y leer directorios excluidos. Este problema está solucionado en la versión 0.54.0."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "jupyterlab",
"product": "jupyterlab-git",
"versions": [
{
"version": "< 0.54.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.8,
"impactScore": 4.2
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-09T13:04:29.311015Z",
"id": "CVE-2026-54528",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-178"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:jupyter:jupyterlab-git:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.54.0",
"matchCriteriaId": "6C2856EB-52EE-47E9-A863-B630523105AB"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/jupyterlab/jupyterlab-git/commit/460035275b5963dc96e364e60ba6a73717fbd033",
"source": "[email protected]",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/jupyterlab/jupyterlab-git/releases/tag/v0.54.0",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/jupyterlab/jupyterlab-git/security/advisories/GHSA-436q-jwfr-rm2h",
"source": "[email protected]",
"tags": [
"Exploit",
"Vendor Advisory"
]
},
{
"url": "https://github.com/jupyterlab/jupyterlab-git/security/advisories/GHSA-436q-jwfr-rm2h",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Vendor Advisory"
]
}
]
}