Vim is an open source, command line text editor. Prior to 9.2.0653, the treecountwords() function in src/spellfile.c fills in the word-count fields of a spell-file word trie by walking it iteratively with a depth counter. The counter is bounded only by the trie structure itself; it is never checked against the size of the fixed MAXWLEN-element stack arrays it indexes (arridx[], curi[], wordcount[]). A crafted .spl/.sug file pair, loaded when the user invokes spell suggestion, can drive the descent arbitrarily deep, so the function writes past the end of those arrays. This is a stack out-of-bounds write that corrupts the call frame and crashes the editor. This vulnerability is fixed in 9.2.0653.
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-athena",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-common",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-nox",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:8.2.3995-1ubuntu2.33"
},
{
"binary_name": "xxd",
"binary_version": "2:8.2.3995-1ubuntu2.33"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-athena",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-common",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-motif",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-nox",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:9.1.0016-1ubuntu7.17"
},
{
"binary_name": "xxd",
"binary_version": "2:9.1.0016-1ubuntu7.17"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-athena",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-common",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-motif",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-nox",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:9.1.0967-1ubuntu6.8"
},
{
"binary_name": "xxd",
"binary_version": "2:9.1.0967-1ubuntu6.8"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-common",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-motif",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-nox",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:9.1.2141-1ubuntu4.6"
},
{
"binary_name": "xxd",
"binary_version": "2:9.1.2141-1ubuntu4.6"
}
]
}{
"availability": "Available with Ubuntu Pro with Legacy support add-on: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-athena",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-common",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-gnome",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-lesstif",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-nox",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:7.4.052-1ubuntu3.1+esm30"
}
]
}{
"availability": "Available with Ubuntu Pro with Legacy support add-on: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-athena",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-athena-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-common",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gnome",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gnome-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gtk-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gtk3-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-nox",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-nox-py2",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:7.4.1689-3ubuntu1.5+esm36"
}
]
}{
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-athena",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-common",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-gnome",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-nox",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
},
{
"binary_name": "xxd",
"binary_version": "2:8.0.1453-1ubuntu1.13+esm21"
}
]
}{
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "vim",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-athena",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-common",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-gtk",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-gtk3",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-gui-common",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-nox",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-runtime",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "vim-tiny",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
},
{
"binary_name": "xxd",
"binary_version": "2:8.1.2269-1ubuntu5.32+esm9"
}
]
}