ubuntu-cve-2024-43790
Vulnerability from osv_ubuntu
Vim is an open source command line text editor. When performing a search and displaying the search-count message is disabled (:set shm+=S), the search pattern is displayed at the bottom of the screen in a buffer (msgbuf). When right-left mode (:set rl) is enabled, the search pattern is reversed. This happens by allocating a new buffer. If the search pattern contains some ASCII NUL characters, the buffer allocated will be smaller than the original allocated buffer (because for allocating the reversed buffer, the strlen() function is called, which only counts until it notices an ASCII NUL byte ) and thus the original length indicator is wrong. This causes an overflow when accessing characters inside the msgbuf by the previously (now wrong) length of the msgbuf. The issue has been fixed as of Vim patch v9.1.0689.
{
"affected": [
{
"ecosystem_specific": {
"priority_reason": "To exploit, this requires user to take search actions in vim.",
"ubuntu_priority": "low"
},
"package": {
"ecosystem": "Ubuntu:Pro:14.04:LTS",
"name": "vim"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"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"
]
},
{
"ecosystem_specific": {
"priority_reason": "To exploit, this requires user to take search actions in vim.",
"ubuntu_priority": "low"
},
"package": {
"ecosystem": "Ubuntu:Pro:16.04:LTS",
"name": "vim"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"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"
]
},
{
"ecosystem_specific": {
"priority_reason": "To exploit, this requires user to take search actions in vim.",
"ubuntu_priority": "low"
},
"package": {
"ecosystem": "Ubuntu:Pro:18.04:LTS",
"name": "vim"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"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"
]
},
{
"ecosystem_specific": {
"priority_reason": "To exploit, this requires user to take search actions in vim.",
"ubuntu_priority": "low"
},
"package": {
"ecosystem": "Ubuntu:20.04:LTS",
"name": "vim"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"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"
]
},
{
"ecosystem_specific": {
"priority_reason": "To exploit, this requires user to take search actions in vim.",
"ubuntu_priority": "low"
},
"package": {
"ecosystem": "Ubuntu:22.04:LTS",
"name": "vim"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"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"
]
},
{
"ecosystem_specific": {
"priority_reason": "To exploit, this requires user to take search actions in vim.",
"ubuntu_priority": "low"
},
"package": {
"ecosystem": "Ubuntu:24.04:LTS",
"name": "vim"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"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-1ubuntu3",
"2:9.1.0016-1ubuntu6",
"2:9.1.0016-1ubuntu7",
"2:9.1.0016-1ubuntu7.1"
]
}
],
"aliases": [],
"details": "Vim is an open source command line text editor. When performing a search and displaying the search-count message is disabled (:set shm+=S), the search pattern is displayed at the bottom of the screen in a buffer (msgbuf). When right-left mode (:set rl) is enabled, the search pattern is reversed. This happens by allocating a new buffer. If the search pattern contains some ASCII NUL characters, the buffer allocated will be smaller than the original allocated buffer (because for allocating the reversed buffer, the strlen() function is called, which only counts until it notices an ASCII NUL byte ) and thus the original length indicator is wrong. This causes an overflow when accessing characters inside the msgbuf by the previously (now wrong) length of the msgbuf. The issue has been fixed as of Vim patch v9.1.0689.",
"id": "UBUNTU-CVE-2024-43790",
"modified": "2024-08-22T22:15:00Z",
"published": "2024-08-22T22:15:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2024-43790"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2024-43790"
},
{
"type": "REPORT",
"url": "https://github.com/vim/vim/security/advisories/GHSA-v2x2-cjcg-f9jm"
},
{
"type": "REPORT",
"url": "https://github.com/vim/vim/commit/cacb6693c10bb19f28a50eca47bc"
},
{
"type": "REPORT",
"url": "https://github.com/vim/vim/commit/cacb6693c10bb19f28a50eca47bc"
}
],
"related": [
"CVE-2024-43790"
],
"schema_version": "1.6.3",
"withdrawn": "2025-06-23T15:58:55Z"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.