CVE-2026-52860
CVE-2026-52860 is a high-severity vulnerability in Vim with a CVSS 3.x base score of 7.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-94.
Key facts
- Severity: High (CVSS 3.x base score 7.8)
- CVSS v4: 7.5
- EPSS exploit prediction: 0% (13th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-36285
- Weakness: CWE-94
- Affected product: Vim
- Published:
- Last modified:
Description
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
Frequently asked questions
- What is CVE-2026-52860?
- Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- How severe is CVE-2026-52860?
- CVE-2026-52860 has a CVSS 3.x base score of 7.8, rated high severity. It is exploitable over local access with low attack complexity, requires no privileges and user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2026-52860 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (13th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-52860?
- CVE-2026-52860 affects Vim. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-52860?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2026-52860 have an EU (EUVD) identifier?
- Yes. CVE-2026-52860 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-36285.
- When was CVE-2026-52860 published?
- CVE-2026-52860 was published on 2026-06-11 and last updated on 2026-06-30.
References
- https://github.com/vim/vim/commit/c8c63673bc4253212820626aeeb75999d9a539d2
- https://github.com/vim/vim/releases/tag/v9.2.0597
- https://github.com/vim/vim/security/advisories/GHSA-52mc-rq6p-rc7c
- https://github.com/vim/vim/security/advisories/GHSA-65p9-mwwx-7468
- https://access.redhat.com/security/cve/CVE-2026-52860
- https://bugzilla.redhat.com/show_bug.cgi?id=2487987
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-52860.json
Affected products (1)
- cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*
More vulnerabilities in Vim
- CVE-2020-20703 — Critical (CVSS 9.8): Buffer Overflow vulnerability in VIM v.8.1.2135 allows a remote attacker to execute arbitrary code via the operand…
- CVE-2022-3520 — Critical (CVSS 9.8): Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0765.
- CVE-2022-0318 — Critical (CVSS 9.8): Heap-based Buffer Overflow in vim/vim prior to 8.2.
- CVE-2017-6350 — Critical (CVSS 9.8): An integer overflow at an unserialize_uep memory allocation site would occur for vim before patch 8.0.0378, if it does…
- CVE-2017-6349 — Critical (CVSS 9.8): An integer overflow at a u_read_undo memory allocation site would occur for vim before patch 8.0.0377, if it does not…
- CVE-2017-5953 — Critical (CVSS 9.8): vim before patch 8.0.0322 does not properly validate values for tree length when handling a spell file, which may…
Other CWE-94 (Code Injection) vulnerabilities
- CVE-2026-57624 — Critical (CVSS 10.0): Unauthenticated Remote Code Execution (RCE) in Blocksy Companion Pro <= 2.1.46 versions.
- CVE-2026-10134 — Critical (CVSS 10.0): IBM Langflow OSS 1.0.0 through 1.9.3 allows an attacker to read every secret available to the Langflow process, read…
- CVE-2026-53576 — Critical (CVSS 10.0): Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, the authentication filter…
- CVE-2026-10561 — Critical (CVSS 10.0): IBM Langflow OSS 1.0.0 through 1.9.3 has an vulnerability due to an improper isolation of Python execution combined…
- CVE-2026-25470 — Critical (CVSS 10.0): Improper Control of Generation of Code ('Code Injection') vulnerability in ACPT ACPT (Pro) - Custom Post Types Plugin…
- CVE-2026-48836 — Critical (CVSS 10.0): Unauthenticated Remote Code Execution (RCE) in Easy Invoice <= 2.1.19 versions.