jaraco.context Has a Path Traversal Vulnerability
jaraco.context, an open-source software package that provides some useful decorators and context managers, has a Zip Slip path traversal vulnerability in the `jaraco.context.tarball()` function starting in version 5.2.0 and prior to version 6.1.0. The vulnerability may allow attackers to extract files outside the intended extraction directory when malicious tar archives are processed. The strip_first_component filter splits the path on the first `/` and extracts the second component, while allowing `../` sequences. Paths like `dummy_dir/../../etc/passwd` become `../../etc/passwd`. Note that this suffers from a nested tarball attack as well with multi-level tar files such as `dummy_dir/inner.tar.gz`, where the inner.tar.gz includes a traversal `dummy_dir/../../config/.env` that also gets translated to `../../config/.env`. Version 6.1.0 contains a patch for the issue.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-23949
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 03:05 UTC · Revision 1
Source evidence
jaraco.context Has a Path Traversal Vulnerability
core-osv · Original sourcePublished 20 Jan 2026, 00:36 UTC
jaraco.context, an open-source software package that provides some useful decorators and context managers, has a Zip Slip path traversal vulnerability in the `jaraco.context.tarball()` function starting in version 5.2.0 and prior to version 6.1.0. The vulnerability may allow attackers to extract files outside the intended extraction directory when malicious tar archives are processed. The strip_first_component filter splits the path on the first `/` and extracts the second component, while allowing `../` sequences. Paths like `dummy_dir/../../etc/passwd` become `../../etc/passwd`. Note that this suffers from a nested tarball attack as well with multi-level tar files such as `dummy_dir/inner.tar.gz`, where the inner.tar.gz includes a traversal `dummy_dir/../../config/.env` that also gets translated to `../../config/.env`. Version 6.1.0 contains a patch for the issue.
osv:CVE-2026-23949
Complete source record
{
"id": "5c28e4b6632b93610b3c534feafb6ceefef3d5c6d282ddfb54164927da5d954c",
"url": "https://osv.dev/vulnerability/CVE-2026-23949",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "jaraco.context Has a Path Traversal Vulnerability",
"summary": "jaraco.context, an open-source software package that provides some useful decorators and context managers, has a Zip Slip path traversal vulnerability in the `jaraco.context.tarball()` function starting in version 5.2.0 and prior to version 6.1.0. The vulnerability may allow attackers to extract files outside the intended extraction directory when malicious tar archives are processed. The strip_first_component filter splits the path on the first `/` and extracts the second component, while allowing `../` sequences. Paths like `dummy_dir/../../etc/passwd` become `../../etc/passwd`. Note that this suffers from a nested tarball attack as well with multi-level tar files such as `dummy_dir/inner.tar.gz`, where the inner.tar.gz includes a traversal `dummy_dir/../../config/.env` that also gets translated to `../../config/.env`. Version 6.1.0 contains a patch for the issue.",
"evidence": "osv:CVE-2026-23949",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-23949",
"aliases": [
"CVE-2026-23949",
"GHSA-58pv-8j8x-9vj2",
"PYSEC-2026-1469"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/jaraco/jaraco.context",
"type": "GIT",
"events": [
{
"introduced": "c23c888c869bfb693246f69ba512aaede5b0438b"
},
{
"fixed": "675aaf5bfb926bdafcded1b0e08ca011d6e0f599"
},
{
"fixed": "7b26a42b525735e4085d2e994e13802ea339d5f9"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:jaraco:jaraco.context:*:*:*:*:*:python:*:*",
"range": [
{
"introduced": "5.2.0"
},
{
"fixed": "6.1.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "7b26a42b525735e4085d2e994e13802ea339d5f9"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v6.0.2",
"v6.0.1",
"v6.0.0",
"v5.3.0",
"v5.2.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23949.json"
}
}
],
"modified": "2026-10-28T02:30:32.825862456Z",
"provider": "osv",
"references": [
"https://github.com/jaraco/jaraco.context/blob/main/jaraco/context/__init__.py#L74-L91",
"https://github.com/pypa/setuptools/blob/main/setuptools/_vendor/jaraco/context.py#L55-L76",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23949.json",
"https://github.com/jaraco/jaraco.context/security/advisories/GHSA-58pv-8j8x-9vj2",
"https://nvd.nist.gov/vuln/detail/CVE-2026-23949",
"https://github.com/jaraco/jaraco.context/commit/7b26a42b525735e4085d2e994e13802ea339d5f9"
],
"provider_metadata": {
"cwe_ids": [
"CWE-22"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23949.json"
}
},
"related_cves": [
{
"value": "CVE-2026-23949",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 499892,
"published_at": "2026-01-20T00:36:23.777+00:00"
}