python3.9: Fix of CVE-2026-11940
- CVE-2026-11940: validate the hardlink-extraction fallback target against the name the link is recreated at in tarfile's makelink_with_filter(), so a crafted archive can no longer smuggle a symlink stored at a deeper name out of the destination directory, and route the extraction filter through TarFile.extract() so single-member extraction is covered by that check and not only extractall()
- Products
- python-unversioned-command, python3, python3-debug, python3-devel, python3-idle, python3-libs, python3-test, python3-tkinter
- Affected versions
- Not specified
- Fixed versions
- 3.9.21-2.el9_6.2.tuxcare.els19
- CVEs
- CVE-2026-11940
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 10:54 UTC · Revision 1
Source evidence
- CVE-2026-11940: validate the hardlink-extraction fallback target against the name the link is recreated at in tarfile's makelink_with_filter(), so a crafted archive can no longer smuggle a symlink stored at a deeper name out of the destination directory, and route the extraction filter through TarFile.extract() so single-member extraction is covered by that check and not only extractall()
osv:CLSA-2026-1788769322
python-unversioned-command
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3-debug
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3-devel
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3-idle
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3-libs
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3-test
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
python3-tkinter
Fixed versions: 3.9.21-2.el9_6.2.tuxcare.els19
Complete source record
{
"id": "914d2785d41651600e6796a1d13d5dbe71d80f9ad22a49147f4fad22383b68f7",
"url": "https://osv.dev/vulnerability/CLSA-2026-1788769322",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "python3.9: Fix of CVE-2026-11940",
"summary": "- CVE-2026-11940: validate the hardlink-extraction fallback target against the name the link is recreated at in tarfile's makelink_with_filter(), so a crafted archive can no longer smuggle a symlink stored at a deeper name out of the destination directory, and route the extraction filter through TarFile.extract() so single-member extraction is covered by that check and not only extractall()",
"evidence": "osv:CLSA-2026-1788769322",
"products": [
{
"name": {
"value": "python-unversioned-command",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3-debug",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3-devel",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3-idle",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3-libs",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3-test",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/6/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python3-tkinter",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3.9.21-2.el9_6.2.tuxcare.els19",
"evidence": "/affected/7/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1788769322",
"aliases": [
"CLSA-2026-1788769322"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python-unversioned-command",
"purl": "pkg:rpm/tuxcare/python-unversioned-command?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3",
"purl": "pkg:rpm/tuxcare/python3?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3-debug",
"purl": "pkg:rpm/tuxcare/python3-debug?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3-devel",
"purl": "pkg:rpm/tuxcare/python3-devel?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3-idle",
"purl": "pkg:rpm/tuxcare/python3-idle?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3-libs",
"purl": "pkg:rpm/tuxcare/python3-libs?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3-test",
"purl": "pkg:rpm/tuxcare/python3-test?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.9.21-2.el9_6.2.tuxcare.els19"
}
]
}
],
"package": {
"name": "python3-tkinter",
"purl": "pkg:rpm/tuxcare/python3-tkinter?distro=almalinux-9.6",
"ecosystem": "TuxCare:AlmaLinux:9.6"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1788769322.json"
}
}
],
"modified": "2026-10-26T09:31:34.854301768Z",
"provider": "osv",
"upstream": [
"CVE-2026-11940"
],
"references": [
"https://errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1788769322.html",
"https://nvd.nist.gov/vuln/detail/CVE-2026-11940"
]
},
"related_cves": [
{
"value": "CVE-2026-11940",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 447761,
"published_at": "2026-09-07T08:22:13+00:00"
}