High
Security advisory
nbgitpuller is a Jupyter server extension to sync a git repository one-way to a local path. Due to unsanitized input, visiting maliciously crafted links could result in arbitrary code execution in the user environment. This has been resolved in version 0.10.2 and all users are advised to upgrade. No work around exist for users who can not upgrade.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-39160
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:53 UTC · Revision 1
Source evidence
nbgitpuller is a Jupyter server extension to sync a git repository one-way to a local path. Due to unsanitized input, visiting maliciously crafted links could result in arbitrary code execution in the user environment. This has been resolved in version 0.10.2 and all users are advised to upgrade. No work around exist for users who can not upgrade.
osv:CVE-2021-39160
Complete source record
{
"id": "ac936359edecba793e001ea97d36ba841c318a05cfd30df6904d8161c078e35b",
"url": "https://osv.dev/vulnerability/CVE-2021-39160",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-39160",
"summary": "nbgitpuller is a Jupyter server extension to sync a git repository one-way to a local path. Due to unsanitized input, visiting maliciously crafted links could result in arbitrary code execution in the user environment. This has been resolved in version 0.10.2 and all users are advised to upgrade. No work around exist for users who can not upgrade.",
"evidence": "osv:CVE-2021-39160",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-39160",
"aliases": [
"CVE-2021-39160",
"GHSA-mq5p-2mcr-m52j",
"PYSEC-2021-315"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/jupyterhub/nbgitpuller",
"type": "GIT",
"events": [
{
"introduced": "7b06cd8da09cfaf62ba00eda801257a207a01f1d"
},
{
"fixed": "0ad9cee237356dfb67615aa68b46f3ca4e95ad2b"
},
{
"fixed": "07690644f29a566011dd0d7ba14cae3eb0490481"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:jupyterhub:nbgitpuller:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0.9.0"
},
{
"fixed": "0.10.2"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "07690644f29a566011dd0d7ba14cae3eb0490481"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"0.10.1",
"0.10.0",
"0.9.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-39160.json"
}
}
],
"modified": "2026-10-20T10:54:53.706436467Z",
"provider": "osv",
"references": [
"https://github.com/jupyterhub/nbgitpuller/blob/main/CHANGELOG.md#0102---2021-08-25",
"https://github.com/jupyterhub/nbgitpuller/security/advisories/GHSA-mq5p-2mcr-m52j",
"https://github.com/jupyterhub/nbgitpuller/commit/07690644f29a566011dd0d7ba14cae3eb0490481"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2021-39160",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 386392,
"published_at": "2021-08-25T18:15:08.487+00:00"
}