python: Fix of 3 CVEs
- CVE-2026-0672: reject control characters in the Cookie module - add the _has_control_character() helper and validate in Morsel.__setitem__, Morsel.setdefault(), Morsel.set() and BaseCookie.output(). Applied as the prerequisite for CVE-2026-3644; Python 2.7.5 shipped neither fix. - CVE-2026-3644: reject control characters in Morsel.update(), the unpickling path (Morsel.__setstate__) and Morsel.js_output(). - CVE-2026-4224: guard conv_content_model() in pyexpat with Py_EnterRecursiveCall()/Py_LeaveRecursiveCall() to avoid a C stack overflow when parsing a deeply nested content model in an inline DTD with a registered ElementDeclHandler. - CVE-2025-13462: skip the old-v7 AREGTYPE -> DIRTYPE normalization in tarfile when reading a follow-up header (GNU long name/link or PAX extended header), so crafted multi-block members are no longer misinterpreted.
- Products
- python, python-debug, python-devel, python-libs, python-test, python-tools, tkinter
- Affected versions
- Not specified
- Fixed versions
- 2.7.5-94.0.1.el7_9.tuxcare.els11
- CVEs
- CVE-2025-13462, CVE-2026-0672, CVE-2026-3644, CVE-2026-4224
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 11:46 UTC · Revision 1
Source evidence
- CVE-2026-0672: reject control characters in the Cookie module - add the _has_control_character() helper and validate in Morsel.__setitem__, Morsel.setdefault(), Morsel.set() and BaseCookie.output(). Applied as the prerequisite for CVE-2026-3644; Python 2.7.5 shipped neither fix. - CVE-2026-3644: reject control characters in Morsel.update(), the unpickling path (Morsel.__setstate__) and Morsel.js_output(). - CVE-2026-4224: guard conv_content_model() in pyexpat with Py_EnterRecursiveCall()/Py_LeaveRecursiveCall() to avoid a C stack overflow when parsing a deeply nested content model in an inline DTD with a registered ElementDeclHandler. - CVE-2025-13462: skip the old-v7 AREGTYPE -> DIRTYPE normalization in tarfile when reading a follow-up header (GNU long name/link or PAX extended header), so crafted multi-block members are no longer misinterpreted.
osv:CLSA-2026-1783705997
python
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
python-debug
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
python-devel
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
python-libs
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
python-test
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
python-tools
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
tkinter
Fixed versions: 2.7.5-94.0.1.el7_9.tuxcare.els11
Complete source record
{
"id": "9b3024193b3eda91ed9e22d196701a2af5ffb5513591f52cd03866b6295e9e1b",
"url": "https://osv.dev/vulnerability/CLSA-2026-1783705997",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "python: Fix of 3 CVEs",
"summary": "- CVE-2026-0672: reject control characters in the Cookie module - add the _has_control_character() helper and validate in Morsel.__setitem__, Morsel.setdefault(), Morsel.set() and BaseCookie.output(). Applied as the prerequisite for CVE-2026-3644; Python 2.7.5 shipped neither fix. - CVE-2026-3644: reject control characters in Morsel.update(), the unpickling path (Morsel.__setstate__) and Morsel.js_output(). - CVE-2026-4224: guard conv_content_model() in pyexpat with Py_EnterRecursiveCall()/Py_LeaveRecursiveCall() to avoid a C stack overflow when parsing a deeply nested content model in an inline DTD with a registered ElementDeclHandler. - CVE-2025-13462: skip the old-v7 AREGTYPE -> DIRTYPE normalization in tarfile when reading a follow-up header (GNU long name/link or PAX extended header), so crafted multi-block members are no longer misinterpreted.",
"evidence": "osv:CLSA-2026-1783705997",
"products": [
{
"name": {
"value": "python",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python-debug",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python-devel",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python-libs",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python-test",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "python-tools",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "tkinter",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.7.5-94.0.1.el7_9.tuxcare.els11",
"evidence": "/affected/6/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1783705997",
"aliases": [
"CLSA-2026-1783705997"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "python",
"purl": "pkg:rpm/tuxcare/python?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "python-debug",
"purl": "pkg:rpm/tuxcare/python-debug?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "python-devel",
"purl": "pkg:rpm/tuxcare/python-devel?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "python-libs",
"purl": "pkg:rpm/tuxcare/python-libs?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "python-test",
"purl": "pkg:rpm/tuxcare/python-test?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "python-tools",
"purl": "pkg:rpm/tuxcare/python-tools?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.7.5-94.0.1.el7_9.tuxcare.els11"
}
]
}
],
"package": {
"name": "tkinter",
"purl": "pkg:rpm/tuxcare/tkinter?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1783705997.json"
}
}
],
"modified": "2026-10-26T09:43:16.660874550Z",
"provider": "osv",
"upstream": [
"CVE-2025-13462",
"CVE-2026-0672",
"CVE-2026-3644",
"CVE-2026-4224"
],
"references": [
"https://errata.tuxcare.com/els_os/centos7els/CLSA-2026-1783705997.html",
"https://nvd.nist.gov/vuln/detail/CVE-2025-13462",
"https://nvd.nist.gov/vuln/detail/CVE-2026-3644",
"https://nvd.nist.gov/vuln/detail/CVE-2026-4224"
]
},
"related_cves": [
{
"value": "CVE-2025-13462",
"evidence": "/upstream"
},
{
"value": "CVE-2026-0672",
"evidence": "/upstream"
},
{
"value": "CVE-2026-3644",
"evidence": "/upstream"
},
{
"value": "CVE-2026-4224",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 449804,
"published_at": "2026-07-11T16:58:40+00:00"
}