pypy3, python3.11 and 2 more products — security advisory
tarfile.extractall() with the 'data' or 'tar' filter could be bypassed by a crafted archive where a hardlink references a symlink stored at a deeper name than the hardlink itself. The extraction fallback validated the symlink at it's archived location but recreated it at the hardlink's shallower path, letting a relative target the filter judged contained escape the destination directory. This allowed a malicious tar archive to create a symlink pointing outside the destination, enabling out-of-destination file reads or writes. This was an incomplete fix of CVE-2025-4330.
- Products
- pypy3, python3.11, python3.13, python3.14
- Affected versions
- 3.11.2-6, 3.11.2-6+deb12u1, 3.11.2-6+deb12u2, 3.11.2-6+deb12u3, 3.11.2-6+deb12u4, 3.11.2-6+deb12u5, 3.11.2-6+deb12u6, 3.11.2-6+deb12u7, 3.11.2-6+deb12u8, 3.11.2-6+deb12u9, 3.11.3-1, 3.11.3-2, 3.11.4-1, 3.11.5-1, 3.11.5-2, 3.11.5-3, 3.11.6-1, 3.11.6-2, 3.11.6-3, 3.11.6-3~hurd.2, 3.11.7-1, 3.11.7-2, 3.11.8-1, 3.11.8-1.1~exp1, 3.11.8-1.1~exp2, 3.11.8-2, 3.11.8-3, 3.11.8-3+hurd.1, 3.11.9-1, 3.13.11-1, 3.13.12-1, 3.13.14-1, 3.13.5-2, 3.13.5-2+deb13u1, 3.13.5-2+deb13u2, 3.13.5-2+deb13u3, 3.13.5-2+deb13u4, 3.13.6-1, 3.13.7-1, 3.13.8-1, 3.13.9-1, 3.14.0-1, 3.14.0-2, 3.14.0-3, 3.14.0-4, 3.14.0-5, 3.14.0~a7-1, 3.14.0~b1-1, 3.14.0~b2-1, 3.14.0~b3-1, 3.14.0~b4-1, 3.14.0~rc1-1, 3.14.0~rc2-1, 3.14.0~rc3-1, 3.14.2-1, 3.14.3-1, 3.14.3-2, 3.14.3-3, 3.14.3-4, 3.14.3-5, 3.14.4-1, 3.14.4-2, 3.14.5-1, 3.14.5~rc1-1, 3.14.6-1, 7.3.19+dfsg-2, 7.3.20+dfsg-1, 7.3.20+dfsg-2, 7.3.20+dfsg-3, 7.3.20+dfsg-4, 7.3.21+dfsg-1, 7.3.21+dfsg-2, 7.3.21+dfsg-3, 7.3.21+dfsg-4, 7.3.22+dfsg-1, 7.3.23+dfsg-1, 7.3.23+dfsg-2, 8.0.0+dfsg-1, 8.0.1+dfsg-1
- Fixed versions
- 3.13.15-1, 3.13.5-2+deb13u5, 3.14.7-1, 8.0.0+dfsg-1
- CVEs
- CVE-2026-11940
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 17:49 UTC · Revision 2
Source evidence
tarfile.extractall() with the 'data' or 'tar' filter could be bypassed by a crafted archive where a hardlink references a symlink stored at a deeper name than the hardlink itself. The extraction fallback validated the symlink at it's archived location but recreated it at the hardlink's shallower path, letting a relative target the filter judged contained escape the destination directory. This allowed a malicious tar archive to create a symlink pointing outside the destination, enabling out-of-destination file reads or writes. This was an incomplete fix of CVE-2025-4330.
osv:DEBIAN-CVE-2026-11940
pypy3
Fixed versions: Not specified
pypy3
Fixed versions: 8.0.0+dfsg-1
python3.11
Fixed versions: Not specified
python3.13
Fixed versions: 3.13.5-2+deb13u5
python3.13
Fixed versions: 3.13.15-1
python3.14
Fixed versions: 3.14.7-1
Complete source record
{
"id": "7f988e1b4c18d8a2bc974e857cf7252045796bc195bf54151db6ff57ae0b5023",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-11940",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-11940",
"summary": "tarfile.extractall() with the 'data' or 'tar' filter could be bypassed by a crafted archive where a hardlink references a symlink stored at a deeper name than the hardlink itself. The extraction fallback validated the symlink at it's archived location but recreated it at the hardlink's shallower path, letting a relative target the filter judged contained escape the destination directory. This allowed a malicious tar archive to create a symlink pointing outside the destination, enabling out-of-destination file reads or writes. This was an incomplete fix of CVE-2025-4330.",
"evidence": "osv:DEBIAN-CVE-2026-11940",
"products": [
{
"name": {
"value": "pypy3",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "7.3.19+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.20+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.20+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.20+dfsg-3",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.20+dfsg-4",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.21+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.21+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.21+dfsg-3",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.21+dfsg-4",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.22+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.23+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "7.3.23+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "8.0.0+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "8.0.1+dfsg-1",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "pypy3",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "8.0.0+dfsg-1",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": [
{
"value": "7.3.19+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.20+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.20+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.20+dfsg-3",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.20+dfsg-4",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.21+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.21+dfsg-2",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.21+dfsg-3",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.21+dfsg-4",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.22+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.23+dfsg-1",
"evidence": "/affected/1/versions"
},
{
"value": "7.3.23+dfsg-2",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "python3.11",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "3.11.2-6",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u3",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u4",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u5",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u6",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u7",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u8",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.2-6+deb12u9",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.3-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.3-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.4-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.5-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.5-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.5-3",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.6-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.6-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.6-3",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.6-3~hurd.2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.7-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.7-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.8-1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.8-1.1~exp1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.8-1.1~exp2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.8-2",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.8-3",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.8-3+hurd.1",
"evidence": "/affected/2/versions"
},
{
"value": "3.11.9-1",
"evidence": "/affected/2/versions"
}
]
},
{
"name": {
"value": "python3.13",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.13.5-2+deb13u5",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": [
{
"value": "3.13.5-2",
"evidence": "/affected/3/versions"
},
{
"value": "3.13.5-2+deb13u1",
"evidence": "/affected/3/versions"
},
{
"value": "3.13.5-2+deb13u2",
"evidence": "/affected/3/versions"
},
{
"value": "3.13.5-2+deb13u3",
"evidence": "/affected/3/versions"
},
{
"value": "3.13.5-2+deb13u4",
"evidence": "/affected/3/versions"
}
]
},
{
"name": {
"value": "python3.13",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.13.15-1",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": [
{
"value": "3.13.11-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.12-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.14-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.5-2",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.6-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.7-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.8-1",
"evidence": "/affected/4/versions"
},
{
"value": "3.13.9-1",
"evidence": "/affected/4/versions"
}
]
},
{
"name": {
"value": "python3.14",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.14.7-1",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": [
{
"value": "3.14.0-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0-2",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0-3",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0-4",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0-5",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~a7-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~b1-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~b2-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~b3-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~b4-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~rc1-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~rc2-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.0~rc3-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.2-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.3-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.3-2",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.3-3",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.3-4",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.3-5",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.4-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.4-2",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.5-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.5~rc1-1",
"evidence": "/affected/5/versions"
},
{
"value": "3.14.6-1",
"evidence": "/affected/5/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "DEBIAN-CVE-2026-11940",
"aliases": [
"DEBIAN-CVE-2026-11940"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/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"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "pypy3",
"purl": "pkg:deb/debian/pypy3?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"7.3.19+dfsg-2",
"7.3.20+dfsg-1",
"7.3.20+dfsg-2",
"7.3.20+dfsg-3",
"7.3.20+dfsg-4",
"7.3.21+dfsg-1",
"7.3.21+dfsg-2",
"7.3.21+dfsg-3",
"7.3.21+dfsg-4",
"7.3.22+dfsg-1",
"7.3.23+dfsg-1",
"7.3.23+dfsg-2",
"8.0.0+dfsg-1",
"8.0.1+dfsg-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-11940.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "8.0.0+dfsg-1"
}
]
}
],
"package": {
"name": "pypy3",
"purl": "pkg:deb/debian/pypy3?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"7.3.19+dfsg-2",
"7.3.20+dfsg-1",
"7.3.20+dfsg-2",
"7.3.20+dfsg-3",
"7.3.20+dfsg-4",
"7.3.21+dfsg-1",
"7.3.21+dfsg-2",
"7.3.21+dfsg-3",
"7.3.21+dfsg-4",
"7.3.22+dfsg-1",
"7.3.23+dfsg-1",
"7.3.23+dfsg-2"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-11940.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "python3.11",
"purl": "pkg:deb/debian/python3.11?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"3.11.2-6",
"3.11.2-6+deb12u1",
"3.11.2-6+deb12u2",
"3.11.2-6+deb12u3",
"3.11.2-6+deb12u4",
"3.11.2-6+deb12u5",
"3.11.2-6+deb12u6",
"3.11.2-6+deb12u7",
"3.11.2-6+deb12u8",
"3.11.2-6+deb12u9",
"3.11.3-1",
"3.11.3-2",
"3.11.4-1",
"3.11.5-1",
"3.11.5-2",
"3.11.5-3",
"3.11.6-1",
"3.11.6-2",
"3.11.6-3",
"3.11.6-3~hurd.2",
"3.11.7-1",
"3.11.7-2",
"3.11.8-1",
"3.11.8-1.1~exp1",
"3.11.8-1.1~exp2",
"3.11.8-2",
"3.11.8-3",
"3.11.8-3+hurd.1",
"3.11.9-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-11940.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.13.5-2+deb13u5"
}
]
}
],
"package": {
"name": "python3.13",
"purl": "pkg:deb/debian/python3.13?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"3.13.5-2",
"3.13.5-2+deb13u1",
"3.13.5-2+deb13u2",
"3.13.5-2+deb13u3",
"3.13.5-2+deb13u4"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-11940.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.13.15-1"
}
]
}
],
"package": {
"name": "python3.13",
"purl": "pkg:deb/debian/python3.13?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"3.13.11-1",
"3.13.12-1",
"3.13.14-1",
"3.13.5-2",
"3.13.6-1",
"3.13.7-1",
"3.13.8-1",
"3.13.9-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-11940.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.14.7-1"
}
]
}
],
"package": {
"name": "python3.14",
"purl": "pkg:deb/debian/python3.14?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"3.14.0-1",
"3.14.0-2",
"3.14.0-3",
"3.14.0-4",
"3.14.0-5",
"3.14.0~a7-1",
"3.14.0~b1-1",
"3.14.0~b2-1",
"3.14.0~b3-1",
"3.14.0~b4-1",
"3.14.0~rc1-1",
"3.14.0~rc2-1",
"3.14.0~rc3-1",
"3.14.2-1",
"3.14.3-1",
"3.14.3-2",
"3.14.3-3",
"3.14.3-4",
"3.14.3-5",
"3.14.4-1",
"3.14.4-2",
"3.14.5-1",
"3.14.5~rc1-1",
"3.14.6-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-11940.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
}
],
"modified": "2026-10-27T10:00:29.916533908Z",
"provider": "osv",
"upstream": [
"CVE-2026-11940"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-11940"
]
},
"related_cves": [
{
"value": "CVE-2026-11940",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 461314,
"published_at": "2026-06-23T17:16:40.847+00:00"
}