CVE-2023-46246 json
Integer Overflow in :history command in Vim
published 2023-10-27 3 y ago modified 2026-06-23 4 mo ago also EUVD-2023-50477
- cvss
- 4.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 32%
- public exploits
- 0
- none known
Summary
Vim is an improved version of the good old UNIX editor Vi. Heap-use-after-free in memory allocated in the function `ga_grow_inner` in in the file `src/alloc.c` at line 748, which is freed in the file `src/ex_docmd.c` in the function `do_cmdline` at line 1010 and then used again in `src/cmdhist.c` at line 759. When using the `:history` command, it's possible that the provided argument overflows the accepted value. Causing an Integer Overflow and potentially later an use-after-free. This vulnerability has been patched in version 9.0.2068.
Patch / fix
- vim vim 9.0.2068
- vim Debian 14, Debian 13 2:9.0.2087-1
debian advisories DEBIAN-CVE-2023-46246
- vim Ubuntu 20.04 LTS 2:8.1.2269-1ubuntu5.21
- vim Ubuntu 22.04 LTS 2:8.2.3995-1ubuntu2.15
- vim Ubuntu Pro 14.04 LTS 2:7.4.052-1ubuntu3.1+esm15
- vim Ubuntu Pro 16.04 LTS 2:7.4.1689-3ubuntu1.5+esm22
- vim Ubuntu Pro 18.04 LTS 2:8.0.1453-1ubuntu1.13+esm7
ubuntu advisories UBUNTU-CVE-2023-46246
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- vim SLES for SAP 15 SP3, SLES for SAP 15 SP2, SLES for SAP 15 SP1 +17 more 9.0.2103-150000.5.57.1
- vim SLES for SAP 12 SP5, SLES 12 SP5 9.0.2103-17.26.1
- vim SLE Module for Desktop Applications 15 SP5, SLE Module for Basesystem 15 SP5, SLE Micro 5.5 +1 more 9.0.2103-150500.20.6.1
suse advisories SUSE-SU-2023:4587-1SUSE-SU-2023:4560-1SUSE-SU-2023:4557-1
- github.com/vim/vim@9198c1f commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-46246 updated cvss 4.0
vim: Integer Overflow in :history command
-
Red Hat Enterprise Linux 6 vim, vim-X11, vim-common, vim-minimal, vim-enhanced, vim-filesystem Red Hat Enterprise Linux 7 vim, vim-X11, vim-common, vim-minimal, vim-enhanced, vim-filesystemaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 vim, vim-X11, vim-common, vim-minimal, vim-enhanced, vim-filesystem Red Hat Enterprise Linux 9 vim, vim-X11, vim-common, vim-minimal, vim-enhanced, vim-filesystemaffected: no fix planned “Will not fix”
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-dashboard-rhel9under investigation
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.38% chance of exploitation in the next 30 days, higher than 32% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/vim/vim/security/advisories/GHSA-q22m-h7m2-9mgm referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.0 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- vim vim
Classification
References
-
github.com
/vim/vim/commit/9198c1f2b1ddecde22af918541e0de2a32f0f45a
patch
-
github.com
/vim/vim/security/advisories/GHSA-q22m-h7m2-9mgm
exploit, third-party-advisory
- security.netapp.com /advisory/ntap-20231208-0006/
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/DNMFS3IH74KEMMESOA3EOB6MZ56TWGFF/
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/IVA7K73WHQH4KVFDJQ7ELIUD2WK5ZT5E/
Sources
- CVE List CVE-2023-46246
- NVD CVE-2023-46246
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.