Fix CVE(s): CVE-2026-25749, CVE-2026-34982, CVE-2026-41411
* SECURITY UPDATE: Heap buffer overflow in get_tagfname() in src/tag.c: the user-settable 'helpfile' option value is copied into a fixed MAXPATHL+1-sized heap buffer with an unbounded STRCPY() when help-file tags are resolved, so a 'helpfile' path longer than MAXPATHL writes past the end of the buffer - debian/patches/CVE-2026-25749.patch: replace the unbounded STRCPY(buf, p_hf) in get_tagfname() with a bounded vim_strncpy() that also leaves room for the "tags" tail appended by the following STRCPY(gettail(buf), "tags"), so the 'helpfile' value can no longer be copied past the end of the caller's MAXPATHL-sized buffer - CVE-2026-25749 * SECURITY UPDATE: Modeline sandbox bypass allowing arbitrary OS command execution when a crafted file is opened: the 'complete', 'guitabtooltip' and 'printheader' options are missing the P_MLE flag, so a modeline can set them to expressions that are evaluated outside the 'modelineexpr' guard - debian/patches/CVE-2026-34982.patch: add the P_MLE flag to the 'complete', 'guitabtooltip' and 'printheader' entries of the option table in src/option.c so a modeline can no longer set them while 'modelineexpr' is off; the upstream mapset() hunk is dropped as mapset() does not exist in 8.1.0875 - CVE-2026-34982 * SECURITY UPDATE: Command injection during tag resolution in expand_tag_fname() in src/tag.c: the filename field read from a tags file is passed to ExpandOne() for wildcard and environment-variable expansion, so a crafted tags file containing back
- Products
- vim, vim-athena, vim-common, vim-doc, vim-gtk, vim-gtk3, vim-gui-common, vim-nox, vim-runtime, vim-tiny, xxd
- Affected versions
- Not specified
- Fixed versions
- 2:8.1.0875-5+deb10u6+tuxcare.els26
- CVEs
- CVE-2026-25749, CVE-2026-34982, CVE-2026-41411
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 11:22 UTC · Revision 1
Source evidence
Fix CVE(s): CVE-2026-25749, CVE-2026-34982, CVE-2026-41411
core-osv · Original sourcePublished 7 Aug 2026, 09:01 UTC
* SECURITY UPDATE: Heap buffer overflow in get_tagfname() in src/tag.c: the user-settable 'helpfile' option value is copied into a fixed MAXPATHL+1-sized heap buffer with an unbounded STRCPY() when help-file tags are resolved, so a 'helpfile' path longer than MAXPATHL writes past the end of the buffer - debian/patches/CVE-2026-25749.patch: replace the unbounded STRCPY(buf, p_hf) in get_tagfname() with a bounded vim_strncpy() that also leaves room for the "tags" tail appended by the following STRCPY(gettail(buf), "tags"), so the 'helpfile' value can no longer be copied past the end of the caller's MAXPATHL-sized buffer - CVE-2026-25749 * SECURITY UPDATE: Modeline sandbox bypass allowing arbitrary OS command execution when a crafted file is opened: the 'complete', 'guitabtooltip' and 'printheader' options are missing the P_MLE flag, so a modeline can set them to expressions that are evaluated outside the 'modelineexpr' guard - debian/patches/CVE-2026-34982.patch: add the P_MLE flag to the 'complete', 'guitabtooltip' and 'printheader' entries of the option table in src/option.c so a modeline can no longer set them while 'modelineexpr' is off; the upstream mapset() hunk is dropped as mapset() does not exist in 8.1.0875 - CVE-2026-34982 * SECURITY UPDATE: Command injection during tag resolution in expand_tag_fname() in src/tag.c: the filename field read from a tags file is passed to ExpandOne() for wildcard and environment-variable expansion, so a crafted tags file containing back
osv:CLSA-2026-1786093276
vim
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-athena
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-common
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-doc
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-gtk
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-gtk3
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-gui-common
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-nox
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-runtime
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
vim-tiny
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
xxd
Fixed versions: 2:8.1.0875-5+deb10u6+tuxcare.els26
Complete source record
{
"id": "1e801830a7cdd765df9a5e051ba621dad6df177701290ac21f916e540b4c4fc0",
"url": "https://osv.dev/vulnerability/CLSA-2026-1786093276",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Fix CVE(s): CVE-2026-25749, CVE-2026-34982, CVE-2026-41411",
"summary": "* SECURITY UPDATE: Heap buffer overflow in get_tagfname() in src/tag.c: the user-settable 'helpfile' option value is copied into a fixed MAXPATHL+1-sized heap buffer with an unbounded STRCPY() when help-file tags are resolved, so a 'helpfile' path longer than MAXPATHL writes past the end of the buffer - debian/patches/CVE-2026-25749.patch: replace the unbounded STRCPY(buf, p_hf) in get_tagfname() with a bounded vim_strncpy() that also leaves room for the \"tags\" tail appended by the following STRCPY(gettail(buf), \"tags\"), so the 'helpfile' value can no longer be copied past the end of the caller's MAXPATHL-sized buffer - CVE-2026-25749 * SECURITY UPDATE: Modeline sandbox bypass allowing arbitrary OS command execution when a crafted file is opened: the 'complete', 'guitabtooltip' and 'printheader' options are missing the P_MLE flag, so a modeline can set them to expressions that are evaluated outside the 'modelineexpr' guard - debian/patches/CVE-2026-34982.patch: add the P_MLE flag to the 'complete', 'guitabtooltip' and 'printheader' entries of the option table in src/option.c so a modeline can no longer set them while 'modelineexpr' is off; the upstream mapset() hunk is dropped as mapset() does not exist in 8.1.0875 - CVE-2026-34982 * SECURITY UPDATE: Command injection during tag resolution in expand_tag_fname() in src/tag.c: the filename field read from a tags file is passed to ExpandOne() for wildcard and environment-variable expansion, so a crafted tags file containing back",
"evidence": "osv:CLSA-2026-1786093276",
"products": [
{
"name": {
"value": "vim",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-athena",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-common",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-doc",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gtk",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gtk3",
"evidence": "/affected/5/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/5/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-gui-common",
"evidence": "/affected/6/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/6/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-nox",
"evidence": "/affected/7/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/7/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-runtime",
"evidence": "/affected/8/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/8/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "vim-tiny",
"evidence": "/affected/9/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/9/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "xxd",
"evidence": "/affected/10/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2:8.1.0875-5+deb10u6+tuxcare.els26",
"evidence": "/affected/10/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1786093276",
"aliases": [
"CLSA-2026-1786093276"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim",
"purl": "pkg:deb/tuxcare/vim?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-athena",
"purl": "pkg:deb/tuxcare/vim-athena?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-common",
"purl": "pkg:deb/tuxcare/vim-common?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-doc",
"purl": "pkg:deb/tuxcare/vim-doc?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-gtk",
"purl": "pkg:deb/tuxcare/vim-gtk?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-gtk3",
"purl": "pkg:deb/tuxcare/vim-gtk3?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-gui-common",
"purl": "pkg:deb/tuxcare/vim-gui-common?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-nox",
"purl": "pkg:deb/tuxcare/vim-nox?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-runtime",
"purl": "pkg:deb/tuxcare/vim-runtime?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "vim-tiny",
"purl": "pkg:deb/tuxcare/vim-tiny?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2:8.1.0875-5+deb10u6+tuxcare.els26"
}
]
}
],
"package": {
"name": "xxd",
"purl": "pkg:deb/tuxcare/xxd?distro=debian-10",
"ecosystem": "TuxCare:Debian:10"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/debian10els/CLSA-2026-1786093276.json"
}
}
],
"modified": "2026-10-26T09:31:52.968416976Z",
"provider": "osv",
"upstream": [
"CVE-2026-25749",
"CVE-2026-34982",
"CVE-2026-41411"
],
"references": [
"https://errata.tuxcare.com/els_os/debian10els/CLSA-2026-1786093276.html",
"https://nvd.nist.gov/vuln/detail/CVE-2026-25749",
"https://nvd.nist.gov/vuln/detail/CVE-2026-34982",
"https://nvd.nist.gov/vuln/detail/CVE-2026-41411"
]
},
"related_cves": [
{
"value": "CVE-2026-25749",
"evidence": "/upstream"
},
{
"value": "CVE-2026-34982",
"evidence": "/upstream"
},
{
"value": "CVE-2026-41411",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 448813,
"published_at": "2026-08-07T09:01:28+00:00"
}