Fix CVE(s): CVE-2026-73072, CVE-2026-73076, CVE-2026-73078
* SECURITY UPDATE: Heap buffer overflow in set_sofo() in src/spell.c: a crafted spell file with an SN_SAL section before an SN_SOFO section leaves sl_sal_first[] entries at -1, so the counting loop under-counts multi-byte mapping lists and later writes run past the end of an undersized heap allocation - debian/patches/CVE-2026-73072.patch: reset sl_sal_first[] with vim_memset() at the top of the SN_SOFO counting loop in set_sofo() in src/spell.c, as done upstream in patch 9.2.0846, so entries left at -1 by a preceding set_sal_first() can no longer skew the item counts - CVE-2026-73072 * SECURITY UPDATE: Code execution via a crafted vimball archive: a member named .VimballRecord overwrites the un-vimball bookkeeping file with attacker-chosen Ex commands that are later :executed verbatim by vimball#RmVimball(), allowing arbitrary OS command execution through :! - debian/patches/CVE-2026-73076.patch: forbid extracting a vimball member named .VimballRecord, record file deletions with string() quoting, and make vimball#RmVimball() execute only whitelisted call delete('...') entries instead of the whole record line (upstream patch 9.2.0847 adapted to vimball v35) - CVE-2026-73076 * SECURITY UPDATE: Code injection in netrw bookmark, history and target menus: paths are interpolated into :execute'd :menu commands escaped with g:netrw_menu_escape, which lacks the Ex separator '|', so a crafted directory path breaks out of the :menu command and runs arbitrary Ex/shell commands - debian/
- Products
- vim, vim-athena, vim-athena-py2, vim-common, vim-doc, vim-gnome, vim-gnome-py2, vim-gtk, vim-gtk-py2, vim-gtk3, vim-gtk3-py2, vim-gui-common, vim-nox, vim-nox-py2, vim-runtime, vim-tiny
- Affected versions
- Not specified
- Fixed versions
- 3:7.4.1689-3ubuntu1.5+tuxcare.els72
- CVEs
- CVE-2026-73072, CVE-2026-73076, CVE-2026-73078
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 11:39 UTC · Revision 1
Source evidence
Fix CVE(s): CVE-2026-73072, CVE-2026-73076, CVE-2026-73078
core-osv · Original sourcePublished 25 Aug 2026, 15:35 UTC
* SECURITY UPDATE: Heap buffer overflow in set_sofo() in src/spell.c: a crafted spell file with an SN_SAL section before an SN_SOFO section leaves sl_sal_first[] entries at -1, so the counting loop under-counts multi-byte mapping lists and later writes run past the end of an undersized heap allocation - debian/patches/CVE-2026-73072.patch: reset sl_sal_first[] with vim_memset() at the top of the SN_SOFO counting loop in set_sofo() in src/spell.c, as done upstream in patch 9.2.0846, so entries left at -1 by a preceding set_sal_first() can no longer skew the item counts - CVE-2026-73072 * SECURITY UPDATE: Code execution via a crafted vimball archive: a member named .VimballRecord overwrites the un-vimball bookkeeping file with attacker-chosen Ex commands that are later :executed verbatim by vimball#RmVimball(), allowing arbitrary OS command execution through :! - debian/patches/CVE-2026-73076.patch: forbid extracting a vimball member named .VimballRecord, record file deletions with string() quoting, and make vimball#RmVimball() execute only whitelisted call delete('...') entries instead of the whole record line (upstream patch 9.2.0847 adapted to vimball v35) - CVE-2026-73076 * SECURITY UPDATE: Code injection in netrw bookmark, history and target menus: paths are interpolated into :execute'd :menu commands escaped with g:netrw_menu_escape, which lacks the Ex separator '|', so a crafted directory path breaks out of the :menu command and runs arbitrary Ex/shell commands - debian/
osv:CLSA-2026-1787672129
vim
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-athena
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-athena-py2
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-common
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-doc
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gnome
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gnome-py2
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gtk
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gtk-py2
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gtk3
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gtk3-py2
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-gui-common
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-nox
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-nox-py2
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-runtime
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
vim-tiny
Fixed versions: 3:7.4.1689-3ubuntu1.5+tuxcare.els72
Complete source record
{
"id": "7029027b21a9cacea3306c326e3cc44c9f0d18a83511ea63d1e55bcadd62f8a8",
"url": "https://osv.dev/vulnerability/CLSA-2026-1787672129",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Fix CVE(s): CVE-2026-73072, CVE-2026-73076, CVE-2026-73078",
"summary": "* SECURITY UPDATE: Heap buffer overflow in set_sofo() in src/spell.c: a crafted spell file with an SN_SAL section before an SN_SOFO section leaves sl_sal_first[] entries at -1, so the counting loop under-counts multi-byte mapping lists and later writes run past the end of an undersized heap allocation - debian/patches/CVE-2026-73072.patch: reset sl_sal_first[] with vim_memset() at the top of the SN_SOFO counting loop in set_sofo() in src/spell.c, as done upstream in patch 9.2.0846, so entries left at -1 by a preceding set_sal_first() can no longer skew the item counts - CVE-2026-73072 * SECURITY UPDATE: Code execution via a crafted vimball archive: a member named .VimballRecord overwrites the un-vimball bookkeeping file with attacker-chosen Ex commands that are later :executed verbatim by vimball#RmVimball(), allowing arbitrary OS command execution through :! - debian/patches/CVE-2026-73076.patch: forbid extracting a vimball member named .VimballRecord, record file deletions with string() quoting, and make vimball#RmVimball() execute only whitelisted call delete('...') entries instead of the whole record line (upstream patch 9.2.0847 adapted to vimball v35) - CVE-2026-73076 * SECURITY UPDATE: Code injection in netrw bookmark, history and target menus: paths are interpolated into :execute'd :menu commands escaped with g:netrw_menu_escape, which lacks the Ex separator '|', so a crafted directory path breaks out of the :menu command and runs arbitrary Ex/shell commands - debian/",
"evidence": "osv:CLSA-2026-1787672129",
"products": [
{
"name": {
"value": "vim",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-athena",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-athena-py2",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-common",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-doc",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gnome",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gnome-py2",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/6/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gtk",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/7/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gtk-py2",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/8/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gtk3",
"evidence": "/affected/9/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/9/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gtk3-py2",
"evidence": "/affected/10/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/10/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gui-common",
"evidence": "/affected/11/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/11/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-nox",
"evidence": "/affected/12/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/12/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-nox-py2",
"evidence": "/affected/13/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/13/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-runtime",
"evidence": "/affected/14/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/14/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-tiny",
"evidence": "/affected/15/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "3:7.4.1689-3ubuntu1.5+tuxcare.els72",
"evidence": "/affected/15/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1787672129",
"aliases": [
"CLSA-2026-1787672129"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim",
"purl": "pkg:deb/tuxcare/vim?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-athena",
"purl": "pkg:deb/tuxcare/vim-athena?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-athena-py2",
"purl": "pkg:deb/tuxcare/vim-athena-py2?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-common",
"purl": "pkg:deb/tuxcare/vim-common?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-doc",
"purl": "pkg:deb/tuxcare/vim-doc?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gnome",
"purl": "pkg:deb/tuxcare/vim-gnome?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gnome-py2",
"purl": "pkg:deb/tuxcare/vim-gnome-py2?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gtk",
"purl": "pkg:deb/tuxcare/vim-gtk?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gtk-py2",
"purl": "pkg:deb/tuxcare/vim-gtk-py2?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gtk3",
"purl": "pkg:deb/tuxcare/vim-gtk3?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gtk3-py2",
"purl": "pkg:deb/tuxcare/vim-gtk3-py2?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-gui-common",
"purl": "pkg:deb/tuxcare/vim-gui-common?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-nox",
"purl": "pkg:deb/tuxcare/vim-nox?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-nox-py2",
"purl": "pkg:deb/tuxcare/vim-nox-py2?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-runtime",
"purl": "pkg:deb/tuxcare/vim-runtime?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3:7.4.1689-3ubuntu1.5+tuxcare.els72"
}
]
}
],
"package": {
"name": "vim-tiny",
"purl": "pkg:deb/tuxcare/vim-tiny?distro=ubuntu-16.04",
"ecosystem": "TuxCare:Ubuntu:16.04"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1787672129.json"
}
}
],
"modified": "2026-10-26T09:32:02.171418611Z",
"provider": "osv",
"upstream": [
"CVE-2026-73072",
"CVE-2026-73076",
"CVE-2026-73078"
],
"references": [
"https://errata.tuxcare.com/els_os/ubuntu16.04els/CLSA-2026-1787672129.html",
"https://nvd.nist.gov/vuln/detail/CVE-2026-73072",
"https://nvd.nist.gov/vuln/detail/CVE-2026-73076",
"https://nvd.nist.gov/vuln/detail/CVE-2026-73078"
]
},
"related_cves": [
{
"value": "CVE-2026-73072",
"evidence": "/upstream"
},
{
"value": "CVE-2026-73076",
"evidence": "/upstream"
},
{
"value": "CVE-2026-73078",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 449426,
"published_at": "2026-08-25T15:35:41+00:00"
}