{"id":"UBUNTU-CVE-2024-43802","details":"Vim is an improved version of the unix vi text editor. When flushing the typeahead buffer, Vim moves the current position in the typeahead buffer but does not check whether there is enough space left in the buffer to handle the next characters.  So this may lead to the tb_off position within the typebuf variable to point outside of the valid buffer size, which can then later lead to a heap-buffer overflow in e.g. ins_typebuf(). Therefore, when flushing the typeahead buffer, check if there is enough space left before advancing the off position. If not, fall back to flush current typebuf contents. It's not quite clear yet, what can lead to this situation. It seems to happen when error messages occur (which will cause Vim to flush the typeahead buffer) in comnination with several long mappgins and so it may eventually move the off position out of a valid buffer size. Impact is low since it is not easily reproducible and requires to have several mappings active and run into some error condition. But when this happens, this will cause a crash. The issue has been fixed as of Vim patch v9.1.0697. Users are advised to upgrade. There are no known workarounds for this issue.","modified":"2026-01-30T02:35:10.477955Z","published":"2024-08-26T19:15:00Z","related":["USN-7048-1","USN-7048-2"],"upstream":["CVE-2024-43802"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2024-43802"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2024-43802"},{"type":"REPORT","url":"https://github.com/vim/vim/security/advisories/GHSA-4ghr-c62x-cqfh"},{"type":"REPORT","url":"https://github.com/vim/vim/commit/322ba9108612bead5eb7731ccb66763dec69ef1b"},{"type":"REPORT","url":"https://github.com/vim/vim/commit/322ba9108612bead5eb"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-7048-1"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-7048-2"}],"affected":[{"package":{"name":"vim","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/vim@2:7.4.052-1ubuntu3.1+esm19?arch=source&distro=trusty/esm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:7.4.052-1ubuntu3.1+esm19"}]}],"versions":["2:7.4.000-1ubuntu2","2:7.4.052-1ubuntu1","2:7.4.052-1ubuntu2","2:7.4.052-1ubuntu3","2:7.4.052-1ubuntu3.1","2:7.4.052-1ubuntu3.1+esm1","2:7.4.052-1ubuntu3.1+esm3","2:7.4.052-1ubuntu3.1+esm4","2:7.4.052-1ubuntu3.1+esm5","2:7.4.052-1ubuntu3.1+esm6","2:7.4.052-1ubuntu3.1+esm7","2:7.4.052-1ubuntu3.1+esm8","2:7.4.052-1ubuntu3.1+esm9","2:7.4.052-1ubuntu3.1+esm10","2:7.4.052-1ubuntu3.1+esm11","2:7.4.052-1ubuntu3.1+esm12","2:7.4.052-1ubuntu3.1+esm13","2:7.4.052-1ubuntu3.1+esm14","2:7.4.052-1ubuntu3.1+esm15","2:7.4.052-1ubuntu3.1+esm16","2:7.4.052-1ubuntu3.1+esm17","2:7.4.052-1ubuntu3.1+esm18"],"ecosystem_specific":{"binaries":[{"binary_name":"vim","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-athena","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-common","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-gnome","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-gtk","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-gui-common","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-lesstif","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-nox","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-runtime","binary_version":"2:7.4.052-1ubuntu3.1+esm19"},{"binary_name":"vim-tiny","binary_version":"2:7.4.052-1ubuntu3.1+esm19"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2024/UBUNTU-CVE-2024-43802.json"}},{"package":{"name":"vim","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/vim@2:7.4.1689-3ubuntu1.5+esm25?arch=source&distro=esm-infra/xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:7.4.1689-3ubuntu1.5+esm25"}]}],"versions":["2:7.4.712-2ubuntu4","2:7.4.826-1ubuntu1","2:7.4.826-1ubuntu2","2:7.4.826-1ubuntu3","2:7.4.963-1ubuntu1","2:7.4.963-1ubuntu4","2:7.4.963-1ubuntu5","2:7.4.1689-3ubuntu1","2:7.4.1689-3ubuntu1.1","2:7.4.1689-3ubuntu1.2","2:7.4.1689-3ubuntu1.3","2:7.4.1689-3ubuntu1.4","2:7.4.1689-3ubuntu1.5","2:7.4.1689-3ubuntu1.5+esm2","2:7.4.1689-3ubuntu1.5+esm3","2:7.4.1689-3ubuntu1.5+esm4","2:7.4.1689-3ubuntu1.5+esm5","2:7.4.1689-3ubuntu1.5+esm6","2:7.4.1689-3ubuntu1.5+esm7","2:7.4.1689-3ubuntu1.5+esm8","2:7.4.1689-3ubuntu1.5+esm10","2:7.4.1689-3ubuntu1.5+esm11","2:7.4.1689-3ubuntu1.5+esm12","2:7.4.1689-3ubuntu1.5+esm13","2:7.4.1689-3ubuntu1.5+esm14","2:7.4.1689-3ubuntu1.5+esm15","2:7.4.1689-3ubuntu1.5+esm17","2:7.4.1689-3ubuntu1.5+esm18","2:7.4.1689-3ubuntu1.5+esm19","2:7.4.1689-3ubuntu1.5+esm20","2:7.4.1689-3ubuntu1.5+esm22","2:7.4.1689-3ubuntu1.5+esm23","2:7.4.1689-3ubuntu1.5+esm24"],"ecosystem_specific":{"binaries":[{"binary_name":"vim","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-athena","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-athena-py2","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-common","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gnome","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gnome-py2","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gtk","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gtk-py2","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gtk3","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gtk3-py2","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-gui-common","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-nox","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-nox-py2","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-runtime","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"},{"binary_name":"vim-tiny","binary_version":"2:7.4.1689-3ubuntu1.5+esm25"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2024/UBUNTU-CVE-2024-43802.json"}},{"package":{"name":"vim","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/vim@2:8.0.1453-1ubuntu1.13+esm10?arch=source&distro=esm-infra/bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:8.0.1453-1ubuntu1.13+esm10"}]}],"versions":["2:8.0.0197-4ubuntu5","2:8.0.1144-1ubuntu1","2:8.0.1401-1ubuntu1","2:8.0.1401-1ubuntu2","2:8.0.1401-1ubuntu3","2:8.0.1453-1ubuntu1","2:8.0.1453-1ubuntu1.1","2:8.0.1453-1ubuntu1.3","2:8.0.1453-1ubuntu1.4","2:8.0.1453-1ubuntu1.6","2:8.0.1453-1ubuntu1.7","2:8.0.1453-1ubuntu1.8","2:8.0.1453-1ubuntu1.9","2:8.0.1453-1ubuntu1.10","2:8.0.1453-1ubuntu1.11","2:8.0.1453-1ubuntu1.12","2:8.0.1453-1ubuntu1.13","2:8.0.1453-1ubuntu1.13+esm1","2:8.0.1453-1ubuntu1.13+esm3","2:8.0.1453-1ubuntu1.13+esm4","2:8.0.1453-1ubuntu1.13+esm5","2:8.0.1453-1ubuntu1.13+esm6","2:8.0.1453-1ubuntu1.13+esm7","2:8.0.1453-1ubuntu1.13+esm8","2:8.0.1453-1ubuntu1.13+esm9"],"ecosystem_specific":{"binaries":[{"binary_name":"vim","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-athena","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-common","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-gnome","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-gtk","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-gtk3","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-gui-common","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-nox","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-runtime","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"vim-tiny","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"},{"binary_name":"xxd","binary_version":"2:8.0.1453-1ubuntu1.13+esm10"}],"availability":"Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2024/UBUNTU-CVE-2024-43802.json"}},{"package":{"name":"vim","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/vim@2:8.1.2269-1ubuntu5.25?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:8.1.2269-1ubuntu5.25"}]}],"versions":["2:8.1.0875-5ubuntu2","2:8.1.0875-5ubuntu3","2:8.1.0875-5ubuntu4","2:8.1.2269-1ubuntu1","2:8.1.2269-1ubuntu4","2:8.1.2269-1ubuntu5","2:8.1.2269-1ubuntu5.3","2:8.1.2269-1ubuntu5.4","2:8.1.2269-1ubuntu5.6","2:8.1.2269-1ubuntu5.7","2:8.1.2269-1ubuntu5.8","2:8.1.2269-1ubuntu5.9","2:8.1.2269-1ubuntu5.11","2:8.1.2269-1ubuntu5.12","2:8.1.2269-1ubuntu5.13","2:8.1.2269-1ubuntu5.14","2:8.1.2269-1ubuntu5.15","2:8.1.2269-1ubuntu5.16","2:8.1.2269-1ubuntu5.17","2:8.1.2269-1ubuntu5.18","2:8.1.2269-1ubuntu5.20","2:8.1.2269-1ubuntu5.21","2:8.1.2269-1ubuntu5.22","2:8.1.2269-1ubuntu5.23","2:8.1.2269-1ubuntu5.24"],"ecosystem_specific":{"binaries":[{"binary_name":"vim","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-athena","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-common","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-gtk","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-gtk3","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-gui-common","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-nox","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-runtime","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"vim-tiny","binary_version":"2:8.1.2269-1ubuntu5.25"},{"binary_name":"xxd","binary_version":"2:8.1.2269-1ubuntu5.25"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2024/UBUNTU-CVE-2024-43802.json"}},{"package":{"name":"vim","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/vim@2:8.2.3995-1ubuntu2.19?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:8.2.3995-1ubuntu2.19"}]}],"versions":["2:8.2.2434-3ubuntu3","2:8.2.2434-3ubuntu4","2:8.2.3565-1ubuntu1","2:8.2.3565-1ubuntu2","2:8.2.3565-1ubuntu3","2:8.2.3565-1ubuntu5","2:8.2.3995-1ubuntu1","2:8.2.3995-1ubuntu2","2:8.2.3995-1ubuntu2.1","2:8.2.3995-1ubuntu2.3","2:8.2.3995-1ubuntu2.4","2:8.2.3995-1ubuntu2.5","2:8.2.3995-1ubuntu2.7","2:8.2.3995-1ubuntu2.8","2:8.2.3995-1ubuntu2.9","2:8.2.3995-1ubuntu2.10","2:8.2.3995-1ubuntu2.11","2:8.2.3995-1ubuntu2.12","2:8.2.3995-1ubuntu2.13","2:8.2.3995-1ubuntu2.15","2:8.2.3995-1ubuntu2.16","2:8.2.3995-1ubuntu2.17","2:8.2.3995-1ubuntu2.18"],"ecosystem_specific":{"binaries":[{"binary_name":"vim","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-athena","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-common","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-gtk","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-gtk3","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-gui-common","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-nox","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-runtime","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"vim-tiny","binary_version":"2:8.2.3995-1ubuntu2.19"},{"binary_name":"xxd","binary_version":"2:8.2.3995-1ubuntu2.19"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2024/UBUNTU-CVE-2024-43802.json"}},{"package":{"name":"vim","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/vim@2:9.1.0016-1ubuntu7.3?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2:9.1.0016-1ubuntu7.3"}]}],"versions":["2:9.0.1672-1ubuntu2","2:9.0.2087-1ubuntu1","2:9.0.2116-1ubuntu1","2:9.0.2116-1ubuntu2","2:9.0.2184-0ubuntu1","2:9.0.2189-1ubuntu1","2:9.1.0-1ubuntu1","2:9.1.0016-1ubuntu2","2:9.1.0016-1ubuntu6","2:9.1.0016-1ubuntu7","2:9.1.0016-1ubuntu7.1","2:9.1.0016-1ubuntu7.2"],"ecosystem_specific":{"binaries":[{"binary_name":"vim","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-athena","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-common","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-gtk3","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-gui-common","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-motif","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-nox","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-runtime","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"vim-tiny","binary_version":"2:9.1.0016-1ubuntu7.3"},{"binary_name":"xxd","binary_version":"2:9.1.0016-1ubuntu7.3"}],"availability":"No subscription required"},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2024/UBUNTU-CVE-2024-43802.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L"},{"type":"Ubuntu","score":"medium"}]}