Vim is an open source, command line text editor. Prior to version 9.1.2132, a heap buffer overflow vulnerability exists in Vim's tag file resolution logic when processing the 'helpfile' option. The vulnerability is located in the get_tagfname() function in src/tag.c. When processing help file tags, Vim copies the user-controlled 'helpfile' option value into a fixed-size heap buffer of MAXPATHL + 1 bytes (typically 4097 bytes) using an unsafe STRCPY() operation without any bounds checking. This issue has been patched in version 9.1.2132.
{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-athena",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-common",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-nox",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:8.1.2269-1ubuntu5.32"
},
{
"binary_name": "xxd",
"binary_version": "2:8.1.2269-1ubuntu5.32"
}
]
}{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-athena",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-common",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-nox",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:8.2.3995-1ubuntu2.24"
},
{
"binary_name": "xxd",
"binary_version": "2:8.2.3995-1ubuntu2.24"
}
]
}{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-athena",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-common",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-motif",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-nox",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:9.1.0016-1ubuntu7.9"
},
{
"binary_name": "xxd",
"binary_version": "2:9.1.0016-1ubuntu7.9"
}
]
}{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-athena",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-common",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-motif",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-nox",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:9.1.0967-1ubuntu6"
},
{
"binary_name": "xxd",
"binary_version": "2:9.1.0967-1ubuntu6"
}
]
}{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-athena",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-common",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-gnome",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-lesstif",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-nox",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:7.4.052-1ubuntu3.1+esm22"
}
]
}{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-athena",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-athena-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-common",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gnome",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gnome-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gtk-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gtk3-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-nox",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-nox-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm28"
}
]
}{
"priority_reason": "Input that can cause a buffer overflow is supplied by the user",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-athena",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-common",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-gnome",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-nox",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
},
{
"binary_name": "xxd",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm13"
}
]
}