{"schemaVersion":3,"id":"CVE-2026-45130","aliases":["ALPINE-CVE-2026-45130","UBUNTU-CVE-2026-45130","DEBIAN-CVE-2026-45130"],"status":"published","duplicateOf":null,"title":null,"description":"Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active. An attacker-controlled length field in the spell file's compound section overflows a 32-bit signed integer multiplication, causing a small buffer to be allocated for a write loop that runs many iterations, overflowing the heap. Because the 'spelllang' option can be set from a modeline, a text file modeline can trigger spell file loading if a malicious .spl file has been planted on the runtimepath. This issue has been patched in version 9.2.0450.","dates":{"published":"2026-05-08T22:42:35.097Z","modified":"2026-05-14T05:17:31.652Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.6,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.6,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Alpine","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00197,"percentile":0.08867,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":-0.051000000000000004,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00248},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00197,"percentile":0.08867}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00248,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00197,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00197,"percentile":0.08867}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_VIM_VIM","name":"Vim","source":"github","url":"https://github.com/vim/vim/issues/3711","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-122","name":"Heap-based Buffer Overflow","description":"A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/122.html"},{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"}],"affected":[{"vendor":"alpine","product":"vim","name":"vim","label":"vim","ecosystem":"Alpine Linux","cpePart":null,"purl":"pkg:apk/alpine/vim","purlType":"apk","versions":[{"text":"< 9.2.0452-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 9.2.0452-r0","eol":null,"hubHref":null},{"vendor":"debian","product":"vim","name":"vim","label":"vim","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/vim","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 2:9.2.0461-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 2:9.2.0461-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"vim","name":"vim","label":"vim","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/vim","purlType":"deb","versions":[{"text":"< 2:7.4.052-1ubuntu3.1+esm26","noFixRecorded":false,"fixedIn":null},{"text":"< 2:7.4.1689-3ubuntu1.5+esm32","noFixRecorded":false,"fixedIn":null},{"text":"< 2:8.0.1453-1ubuntu1.13+esm17","noFixRecorded":false,"fixedIn":null},{"text":"< 2:8.1.2269-1ubuntu5.32+esm5","noFixRecorded":false,"fixedIn":null},{"text":"< 2:8.2.3995-1ubuntu2.30","noFixRecorded":false,"fixedIn":null},{"text":"< 2:9.1.0016-1ubuntu7.14","noFixRecorded":false,"fixedIn":null},{"text":"< 2:9.1.0967-1ubuntu6.5","noFixRecorded":false,"fixedIn":null},{"text":"< 2:9.1.2141-1ubuntu4.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 2:7.4.052-1ubuntu3.1+esm26 | < 2:7.4.1689-3ubuntu1.5+esm32 | < 2:8.0.1453-1ubuntu1.13+esm17 | < 2:8.1.2269-1ubuntu5.32+esm5 | < 2:8.2.3995-1ubuntu2.30 | < 2:9.1.0016-1ubuntu7.14 | < 2:9.1.0967-1ubuntu6.5 | < 2:9.1.2141-1ubuntu4.2","eol":null,"hubHref":null},{"vendor":"neovim","product":"neovim","name":"neovim","label":"neovim","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 0.12.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 0.12.2","eol":null,"hubHref":"/vendor/neovim/neovim"},{"vendor":"vim","product":"vim","name":"vim","label":"vim","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 9.2.0450","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 9.2.0450","eol":null,"hubHref":"/vendor/vim/vim"}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/vim/vim/security/advisories/GHSA-q4jv-r9gj-6cwv","label":"github.com/vim/vim/security/advisories/GHSA-q4jv-r9gj-6cwv","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Exploit","Patch","Vendor Advisory"]},{"url":"https://github.com/vim/vim/commit/92993329178cb1f72d700fff45ca86e1c2d369f8","label":"github.com/vim/vim/commit/92993329178cb1f72d700fff45ca86e1c2d369f8","hostname":"github.com","tags":["X Refsource MISC","REPORT","Patch"]},{"url":"https://github.com/vim/vim/releases/tag/v9.2.0450","label":"github.com/vim/vim/releases/tag/v9.2.0450","hostname":"github.com","tags":["X Refsource MISC","REPORT","Product"]},{"url":"http://www.openwall.com/lists/oss-security/2026/05/14/3","label":"www.openwall.com/lists/oss-security/2026/05/14/3","hostname":"www.openwall.com","tags":["Mailing List","Third Party Advisory"]},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-45130","label":"security.alpinelinux.org/vuln/CVE-2026-45130","hostname":"security.alpinelinux.org","tags":["Advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-45130","label":"ubuntu.com/security/CVE-2026-45130","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-45130","label":"www.cve.org/CVERecord?id=CVE-2026-45130","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://ubuntu.com/security/notices/USN-8304-1","label":"ubuntu.com/security/notices/USN-8304-1","hostname":"ubuntu.com","tags":["Advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-45130","label":"security-tracker.debian.org/tracker/CVE-2026-45130","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45130","label":"nvd.nist.gov/vuln/detail/CVE-2026-45130","hostname":"nvd.nist.gov","tags":["Oval","Advisory"]}],"lineage":{"upstream":[],"downstream":["MGASA-2026-0167","OPENSUSE-SU-2026:11114-1","RHSA-2026:57614","SUSE-SU-2026:21833-1","SUSE-SU-2026:2313-1","USN-8304-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:11114-1","SUSE-SU-2026:21833-1","SUSE-SU-2026:2313-1","USN-8304-1"]},"timeline":[{"kind":"published","date":"2026-05-08T22:42:35.097Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-05-14T05:17:31.652Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":36,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T21:10:55.091Z","stale":false,"partial":false}}