CVE-2023-48706
Vim has heap-use-after-free at /src/charset.c:1770:12 in skipwhite
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
3.6
Vim has heap-use-after-free at /src/charset.c:1770:12 in skipwhite
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
CVE-2023-48706- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-416
- Updated
- 2026-11-02
EUVDEUVD-2023-52745
3.6
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
EUVD-2023-52745- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
NVD
3.6
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
CVE-2023-48706- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-416
- Updated
- 2026-11-02
OSVALPINE-CVE-2023-48706
4.7
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
ALPINE-CVE-2023-48706- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSVAZL-32047
4.7
CVE-2023-48706 affecting package vim for versions less than 9.0.2121-1
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
AZL-32047- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVBELL-CVE-2023-48706
4.7
- Record
BELL-CVE-2023-48706- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 15 moreShow less
OSV
3.6
Vim has heap-use-after-free at /src/charset.c:1770:12 in skipwhite
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
CVE-2023-48706- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-416
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2023-48706
4.7
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
DEBIAN-CVE-2023-48706- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2023-1874
3.9
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is an open source command line text editor. When closing a window, vim may try to access already freed window structure. Exploitation beyond crashing the application has not been shown to be viable. This issue has been addressed in commit 25aabc2b which has been included in release version 9.0.2106. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48231)
Vim is an open source command line text editor. If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit ac6378773 which has been included in release version 9.0.2108. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48233)
Vim is an open source command line text editor. When getting the count for a normal mode z command, it may overflow for large counts given. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit 58f9befca1 which has been included in release version 9.0.2109. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48234)
Vim is an open source command line text editor. When parsing relative ex addresses one may unintentionally cause an
overflow. Ironically this happens in the existing overflow check, because the line number becomes negative and LONG_MAX - lnum will cause the overflow. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit 060623e which has been included in release version 9.0.2110. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48235)
Vim is an open source command line text editor. When using the z= command, the user may overflow the count with values larger
than MAX_INT. Impact is low, user interaction is required and a crash may not even happen in all situations. This vulnerability has been addressed in commit 73b2d379 which has been included in release version 9.0.2111. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48236)
Vim is an open source command line text editor. In affected versions when shifting lines in operator pending mode and using a very large value, it may be possible to overflow the size of integer. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit 6bf131888 which has been included in version 9.0.2112. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48237)
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.(CVE-2023-48706)
- Record
OESA-2023-1874- CVSS 3.1
- 3.9 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
OSVOESA-2023-1884
3.9
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is an open source command line text editor. When closing a window, vim may try to access already freed window structure. Exploitation beyond crashing the application has not been shown to be viable. This issue has been addressed in commit 25aabc2b which has been included in release version 9.0.2106. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48231)
Vim is an open source command line text editor. If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit ac6378773 which has been included in release version 9.0.2108. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48233)
Vim is an open source command line text editor. When getting the count for a normal mode z command, it may overflow for large counts given. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit 58f9befca1 which has been included in release version 9.0.2109. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48234)
Vim is an open source command line text editor. When parsing relative ex addresses one may unintentionally cause an
overflow. Ironically this happens in the existing overflow check, because the line number becomes negative and LONG_MAX - lnum will cause the overflow. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit 060623e which has been included in release version 9.0.2110. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48235)
Vim is an open source command line text editor. When using the z= command, the user may overflow the count with values larger
than MAX_INT. Impact is low, user interaction is required and a crash may not even happen in all situations. This vulnerability has been addressed in commit 73b2d379 which has been included in release version 9.0.2111. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48236)
Vim is an open source command line text editor. In affected versions when shifting lines in operator pending mode and using a very large value, it may be possible to overflow the size of integer. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit 6bf131888 which has been included in version 9.0.2112. Users are advised to upgrade. There are no known workarounds for this vulnerability.(CVE-2023-48237)
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.(CVE-2023-48706)
- Record
OESA-2023-1884- CVSS 3.1
- 3.9 Low
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
OSVOESA-2023-1901
3.6
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.(CVE-2023-48706)
- Record
OESA-2023-1901- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
OSVOESA-2023-1902
3.6
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.(CVE-2023-48706)
- Record
OESA-2023-1902- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
OSVOESA-2023-1903
3.6
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.(CVE-2023-48706)
- Record
OESA-2023-1903- CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
OSVROOT-OS-ALPINE-318-CVE-2023-48706
4.7
CVE-2023-48706 in vim - Patched by Root
Root has patched CVE-2023-48706 in the vim package for Root:Alpine:3.18. Multiple fixed versions available.
- Record
ROOT-OS-ALPINE-318-CVE-2023-48706- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-48706
4.7
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a :s command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive :s call causes free-ing of memory which may later then be accessed by the initial :s command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
- Record
UBUNTU-CVE-2023-48706- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H - CVSS 3.1
- 3.6 Low
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-02
OSVCLSA-2026-1777544441 No score
vim: Fix of 13 CVEs
- CVE-2021-3796: fix use-after-free in nv_replace by getting the line pointer again after ins_copychar may have released it
- CVE-2021-3973: fix heap buffer overflow in find_file_in_path_option by rejecting len == 0 inputs
- CVE-2022-0413: fix use-after-free in do_sub when the substitute string is a "=" expression by copying the string before eval
- CVE-2022-0943: fix heap overflow in spell_suggest when "z=" in Visual mode by clamping badlen to the remaining line length
- CVE-2022-1620: fix NULL pointer access by guarding both vim_regexec calls in fname_match and the second fname_match call in buflist_match against rmp->regprog becoming NULL after the AUTOMATIC_ENGINE fallback fails to recompile the pattern
- CVE-2022-1796: fix use-after-free in find_pattern_in_path by making a copy of the identifier pointer before the call
- CVE-2022-2207: fix read-before-start-of-line in ins_bs by requiring w_cursor.col > 0 in the whitespace back-step loop
- CVE-2022-3235: fix use-after-free in cmdline input-method handling by tracking the owning buffer and checking buf_valid
- CVE-2022-3296: fix buffer underflow in ex_finally by searching for a valid CSF_TRY frame before accessing cs_flags
- CVE-2023-46246: fix integer overflow in :history by clamping long values to INT_MAX before casting to int
- CVE-2023-48231: fix use-after-free in win_close by returning early when the window is no longer valid after BufLeave
- CVE-2023-48706: fix use-after-free in ex_substitute by always allocating sub and freeing it on every exit path
- CVE-2026-33412: fix command injection via newline in glob() by adding '\n' to the SHELL_SPECIAL escape set
- Record
CLSA-2026-1777544441- Updated
- 2026-11-02
OSVMGASA-2023-0341 No score
Updated vim packages fix security vulnerabilities
The updated packages fix security vulnerabilities
When closing a window, vim may try to access already freed window structure. Exploitation beyond crashing the application has not been shown to be viable. (CVE-2023-48231)
A floating point exception may occur when calculating the line offset for overlong lines and smooth scrolling is enabled and the cpo-settings include the 'n' flag. This may happen when a window border is present and when the wrapped line continues on the next physical line directly in the window border because the 'cpo' setting includes the 'n' flag. Only users with non-default settings are affected and the exception should only result in a crash. (CVE-2023-48232)
If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Impact is low, user interaction is required and a crash may not even happen in all situations. (CVE-2023-48233)
When getting the count for a normal mode z command, it may overflow for large counts given. Impact is low, user interaction is required and a crash may not even happen in all situations. (CVE-2023-48234)
When parsing relative ex addresses one may unintentionally cause an overflow. Ironically this happens in the existing overflow check, because the line number becomes negative and LONG_MAX - lnum will cause the overflow. Impact is low, user interaction is required and a crash may not even happen in all situations. (CVE-2023-48235)
When using the z= command, the user may overflow the count with values larger than MAX_INT. Impact is low, user interaction is required and a crash may not even happen in all situations. (CVE-2023-48236)
In affected versions when shifting lines in operator pending mode and using a very large value, it may be possible to overflow the size of integer. Impact is low, user interaction is required and a crash may not even happen in all situations. (CVE-2023-48237)
When executing a :s command for the very first time and using a
sub-replace-special atom inside the substitution part, it is possible
that the recursive :s call causes free-ing of memory which may later
then be accessed by the initial :s command. The user must
intentionally execute the payload and the whole process is a bit tricky
to do since it seems to work only reliably for the very first :s
command. It may also cause a crash of Vim. (CVE-2023-48706)
The update fixes haproxy configuration paths used for syntax coloration.
- Record
MGASA-2023-0341- Updated
- 2026-11-02
OSVSUSE-SU-2024:0783-1 No score
Security update for vim
This update for vim fixes the following issues:
- CVE-2023-48231: Fixed Use-After-Free in win_close() (bsc#1217316).
- CVE-2023-48232: Fixed Floating point Exception in adjust_plines_for_skipcol() (bsc#1217320).
- CVE-2023-48233: Fixed overflow with count for :s command (bsc#1217321).
- CVE-2023-48234: Fixed overflow in nv_z_get_count (bsc#1217324).
- CVE-2023-48235: Fixed overflow in ex address parsing (bsc#1217326).
- CVE-2023-48236: Fixed overflow in get_number (bsc#1217329).
- CVE-2023-48237: Fixed overflow in shift_line (bsc#1217330).
- CVE-2023-48706: Fixed heap-use-after-free in ex_substitute (bsc#1217432).
- CVE-2024-22667: Fixed stack-based buffer overflow in did_set_langmap function in map.c (bsc#1219581).
- CVE-2023-4750: Fixed heap use-after-free in function bt_quickfix (bsc#1215005).
Updated to version 9.1 with patch level 0111: https://github.com/vim/vim/compare/v9.0.2103...v9.1.0111
- Record
SUSE-SU-2024:0783-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:0871-1 No score
Security update for vim
This update for vim fixes the following issues:
- CVE-2023-48231: Fixed Use-After-Free in win_close() (bsc#1217316).
- CVE-2023-48232: Fixed Floating point Exception in adjust_plines_for_skipcol() (bsc#1217320).
- CVE-2023-48233: Fixed overflow with count for :s command (bsc#1217321).
- CVE-2023-48234: Fixed overflow in nv_z_get_count (bsc#1217324).
- CVE-2023-48235: Fixed overflow in ex address parsing (bsc#1217326).
- CVE-2023-48236: Fixed overflow in get_number (bsc#1217329).
- CVE-2023-48237: Fixed overflow in shift_line (bsc#1217330).
- CVE-2023-48706: Fixed heap-use-after-free in ex_substitute (bsc#1217432).
- CVE-2024-22667: Fixed stack-based buffer overflow in did_set_langmap function in map.c (bsc#1219581).
- CVE-2023-4750: Fixed heap use-after-free in function bt_quickfix (bsc#1215005).
Updated to version 9.1 with patch level 0111: https://github.com/vim/vim/compare/v9.0.2103...v9.1.0111
- Record
SUSE-SU-2024:0871-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:1287-1 No score
Security update for vim
This update for vim fixes the following issues:
Updated to version 9.1.0111, fixes the following security problems
- CVE-2023-48231: Use-After-Free in win_close() (bsc#1217316).
- CVE-2023-48232: Floating point Exception in adjust_plines_for_skipcol() (bsc#1217320).
- CVE-2023-48233: overflow with count for :s command (bsc#1217321).
- CVE-2023-48234: overflow in nv_z_get_count (bsc#1217324).
- CVE-2023-48235: overflow in ex address parsing (CVE-2023-48235).
- CVE-2023-48236: overflow in get_number (bsc#1217329).
- CVE-2023-48237: overflow in shift_line (bsc#1217330).
- CVE-2023-48706: heap-use-after-free in ex_substitute (bsc#1217432).
- CVE-2024-22667: stack-based buffer overflow in did_set_langmap function in map.c (bsc#1219581).
- CVE-2023-4750: Heap use-after-free in function bt_quickfix (bsc#1215005).
- Record
SUSE-SU-2024:1287-1- Updated
- 2026-11-02
OSVUSN-6557-1 No score
vim vulnerabilities
It was discovered that Vim could be made to dereference invalid memory. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2022-1725)
It was discovered that Vim could be made to recurse infinitely. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2022-1771)
It was discovered that Vim could be made to write out of bounds with a put command. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 22.04 LTS. (CVE-2022-1886)
It was discovered that Vim could be made to write out of bounds. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 14.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2022-1897, CVE-2022-2000)
It was discovered that Vim did not properly manage memory in the spell command. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 22.04 LTS. (CVE-2022-2042)
It was discovered that Vim did not properly manage memory. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. (CVE-2023-46246, CVE-2023-48231)
It was discovered that Vim could be made to divide by zero. An attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 23.04 and Ubuntu 23.10. (CVE-2023-48232)
It was discovered that Vim contained multiple arithmetic overflows. An attacker could possibly use these issues to cause a denial of service. (CVE-2023-48233, CVE-2023-48234, CVE-2023-48235, CVE-2023-48236, CVE-2023-48237)
It was discovered that Vim did not properly manage memory in the substitute command. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. This issue only affected Ubuntu 22.04 LTS, Ubuntu 23.04, and Ubuntu 23.10. (CVE-2023-48706)
- Record
USN-6557-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
vimAlpine:v3.19 |
before 9.0.2127-r0 | 9.0.2127-r0 |
vimAlpine:v3.20 |
before 9.0.2127-r0 | 9.0.2127-r0 |
vimAlpine:v3.21 |
before 9.0.2127-r0 | 9.0.2127-r0 |
vimAlpine:v3.22 |
before 9.0.2127-r0 | 9.0.2127-r0 |
vimAlpine:v3.23 |
before 9.0.2127-r0 | 9.0.2127-r0 |
vimAlpine:v3.24 |
before 9.0.2127-r0 | 9.0.2127-r0 |
vimAzure Linux:2 |
before 9.0.2121-1 | 9.0.2121-1 |
vimAlpaquita:23 |
9.0.0999-r0 up to 9.1.0936-r0 | 9.1.0936-r0 |
vimAlpaquita:stream |
9.0.1676-r0 up to 9.0.2127-r0 | 9.0.2127-r0 |
vim-X11TuxCare:CentOS:7 From an advisory covering 13 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els11 | 2:7.4.629-8.0.1.el7_9.tuxcare.els11 |
Show 47 moreShow less
| Package | Affected | Fixed |
|---|---|---|
vim-commonTuxCare:CentOS:7 From an advisory covering 13 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els11 | 2:7.4.629-8.0.1.el7_9.tuxcare.els11 |
vim-enhancedTuxCare:CentOS:7 From an advisory covering 13 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els11 | 2:7.4.629-8.0.1.el7_9.tuxcare.els11 |
vim-filesystemTuxCare:CentOS:7 From an advisory covering 13 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els11 | 2:7.4.629-8.0.1.el7_9.tuxcare.els11 |
vim-minimalTuxCare:CentOS:7 From an advisory covering 13 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els11 | 2:7.4.629-8.0.1.el7_9.tuxcare.els11 |
vimDebian:12 |
All versions, plus listed versions 2:9.0.1378-22:9.0.1378-2+deb12u12:9.0.1378-2+deb12u22:9.0.1658-12:9.0.1672-1 Show 40 moreShow less2:9.0.1894-12:9.0.2018-12:9.0.2087-12:9.0.2103-12:9.0.2116-12:9.0.2189-12:9.1.0-12:9.1.0016-12:9.1.0199-12:9.1.0374-12:9.1.0377-12:9.1.0496-12:9.1.0698-12:9.1.0709-12:9.1.0709-22:9.1.0777-12:9.1.0861-12:9.1.0967-12:9.1.0967-22:9.1.1113-12:9.1.1230-12:9.1.1230-22:9.1.1385-12:9.1.1766-12:9.1.1829-12:9.1.1846-12:9.1.1882-12:9.1.2103-12:9.1.2141-12:9.2.0119-12:9.2.0136-12:9.2.0218-12:9.2.0315-12:9.2.0338-12:9.2.0355-12:9.2.0428-12:9.2.0461-12:9.2.0524-12:9.2.0782-12:9.2.0858-1 |
None known |
vimDebian:13 |
before 2:9.0.2189-1 | 2:9.0.2189-1 |
vimDebian:14 |
before 2:9.0.2189-1 | 2:9.0.2189-1 |
vimMageia:9 From an advisory covering 8 CVEs |
before 9.0.2130-2.mga9 | 9.0.2130-2.mga9 |
vimopenEuler:22.03-LTS-SP2 From an advisory covering 7 CVEs |
before 9.0-23.oe2203sp2 | 9.0-23.oe2203sp2 |
vimopenEuler:20.03-LTS-SP3 From an advisory covering 7 CVEs |
before 9.0-22.oe1 | 9.0-22.oe1 |
vimopenEuler:20.03-LTS-SP1 |
before 9.0-22.oe1 | 9.0-22.oe1 |
vimopenEuler:22.03-LTS |
before 9.0-23.oe2203 | 9.0-23.oe2203 |
vimopenEuler:22.03-LTS-SP1 |
before 9.0-23.oe2203sp1 | 9.0-23.oe2203sp1 |
vimRoot:Alpine:3.18 |
before 9.0.2073-r00071 | 9.0.2073-r000719.0.2073-r000729.0.2073-r000759.0.2073-r000749.0.2073-r000739.0.2073-r00076 |
rootio-vimRoot:Alpine:3.18 |
before 9.0.2073-r00071 | 9.0.2073-r000719.0.2073-r000729.0.2073-r000759.0.2073-r000749.0.2073-r000739.0.2073-r00076 |
vimSUSE:Linux Enterprise Server 12 SP5 From an advisory covering 10 CVEs |
before 9.1.0111-17.29.1 | 9.1.0111-17.29.1 |
vimSUSE:Linux Enterprise Server for SAP Applications 12 SP5 From an advisory covering 10 CVEs |
before 9.1.0111-17.29.1 | 9.1.0111-17.29.1 |
vimSUSE:Linux Enterprise Micro 5.3 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Micro 5.4 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Server 15 SP2-LTSS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Server 15 SP3-LTSS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Server for SAP Applications 15 SP2 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Server for SAP Applications 15 SP3 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Server for SAP Applications 15 SP4 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Manager Proxy 4.3 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Manager Server 4.3 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Micro 5.1 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Micro 5.2 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Enterprise Storage 7.1 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimopenSUSE:Leap Micro 5.3 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimopenSUSE:Leap Micro 5.4 From an advisory covering 10 CVEs |
before 9.1.0111-150000.5.60.1 | 9.1.0111-150000.5.60.1 |
vimSUSE:Linux Enterprise Micro 5.5 From an advisory covering 10 CVEs |
before 9.1.0111-150500.20.9.1 | 9.1.0111-150500.20.9.1 |
vimSUSE:Linux Enterprise Module for Basesystem 15 SP5 From an advisory covering 10 CVEs |
before 9.1.0111-150500.20.9.1 | 9.1.0111-150500.20.9.1 |
vimSUSE:Linux Enterprise Module for Desktop Applications 15 SP5 From an advisory covering 10 CVEs |
before 9.1.0111-150500.20.9.1 | 9.1.0111-150500.20.9.1 |
vimopenSUSE:Leap 15.5 From an advisory covering 10 CVEs |
before 9.1.0111-150500.20.9.1 | 9.1.0111-150500.20.9.1 |
vimUbuntu:22.04:LTS |
before 2:8.2.3995-1ubuntu2.15, plus listed versions 2:8.2.2434-3ubuntu32:8.2.2434-3ubuntu42:8.2.3565-1ubuntu12:8.2.3565-1ubuntu22:8.2.3565-1ubuntu3 Show 14 moreShow less2:8.2.3565-1ubuntu52:8.2.3995-1ubuntu12:8.2.3995-1ubuntu22:8.2.3995-1ubuntu2.12:8.2.3995-1ubuntu2.32:8.2.3995-1ubuntu2.42:8.2.3995-1ubuntu2.52:8.2.3995-1ubuntu2.72:8.2.3995-1ubuntu2.82:8.2.3995-1ubuntu2.92:8.2.3995-1ubuntu2.102:8.2.3995-1ubuntu2.112:8.2.3995-1ubuntu2.122:8.2.3995-1ubuntu2.13 |
2:8.2.3995-1ubuntu2.15 |
vimUbuntu:24.04:LTS |
before 2:9.0.2116-1ubuntu2, plus listed versions 2:9.0.1672-1ubuntu22:9.0.2087-1ubuntu12:9.0.2116-1ubuntu1 |
2:9.0.2116-1ubuntu2 |
vimUbuntu:Pro:14.04:LTS From an advisory covering 14 CVEs |
before 2:7.4.052-1ubuntu3.1+esm15, plus listed versions 2:7.4.000-1ubuntu22:7.4.052-1ubuntu12:7.4.052-1ubuntu22:7.4.052-1ubuntu32:7.4.052-1ubuntu3.1 Show 13 moreShow less2:7.4.052-1ubuntu3.1+esm12:7.4.052-1ubuntu3.1+esm32:7.4.052-1ubuntu3.1+esm42:7.4.052-1ubuntu3.1+esm52:7.4.052-1ubuntu3.1+esm62:7.4.052-1ubuntu3.1+esm72:7.4.052-1ubuntu3.1+esm82:7.4.052-1ubuntu3.1+esm92:7.4.052-1ubuntu3.1+esm102:7.4.052-1ubuntu3.1+esm112:7.4.052-1ubuntu3.1+esm122:7.4.052-1ubuntu3.1+esm132:7.4.052-1ubuntu3.1+esm14 |
2:7.4.052-1ubuntu3.1+esm15 |
vimUbuntu:Pro:16.04:LTS From an advisory covering 14 CVEs |
before 2:7.4.1689-3ubuntu1.5+esm22, plus listed versions 2:7.4.712-2ubuntu42:7.4.826-1ubuntu12:7.4.826-1ubuntu22:7.4.826-1ubuntu32:7.4.963-1ubuntu1 Show 25 moreShow less2:7.4.963-1ubuntu42:7.4.963-1ubuntu52:7.4.1689-3ubuntu12:7.4.1689-3ubuntu1.12:7.4.1689-3ubuntu1.22:7.4.1689-3ubuntu1.32:7.4.1689-3ubuntu1.42:7.4.1689-3ubuntu1.52:7.4.1689-3ubuntu1.5+esm22:7.4.1689-3ubuntu1.5+esm32:7.4.1689-3ubuntu1.5+esm42:7.4.1689-3ubuntu1.5+esm52:7.4.1689-3ubuntu1.5+esm62:7.4.1689-3ubuntu1.5+esm72:7.4.1689-3ubuntu1.5+esm82:7.4.1689-3ubuntu1.5+esm102:7.4.1689-3ubuntu1.5+esm112:7.4.1689-3ubuntu1.5+esm122:7.4.1689-3ubuntu1.5+esm132:7.4.1689-3ubuntu1.5+esm142:7.4.1689-3ubuntu1.5+esm152:7.4.1689-3ubuntu1.5+esm172:7.4.1689-3ubuntu1.5+esm182:7.4.1689-3ubuntu1.5+esm192:7.4.1689-3ubuntu1.5+esm20 |
2:7.4.1689-3ubuntu1.5+esm22 |
vimUbuntu:Pro:18.04:LTS From an advisory covering 14 CVEs |
before 2:8.0.1453-1ubuntu1.13+esm7, plus listed versions 2:8.0.0197-4ubuntu52:8.0.1144-1ubuntu12:8.0.1401-1ubuntu12:8.0.1401-1ubuntu22:8.0.1401-1ubuntu3 Show 17 moreShow less2:8.0.1453-1ubuntu12:8.0.1453-1ubuntu1.12:8.0.1453-1ubuntu1.32:8.0.1453-1ubuntu1.42:8.0.1453-1ubuntu1.62:8.0.1453-1ubuntu1.72:8.0.1453-1ubuntu1.82:8.0.1453-1ubuntu1.92:8.0.1453-1ubuntu1.102:8.0.1453-1ubuntu1.112:8.0.1453-1ubuntu1.122:8.0.1453-1ubuntu1.132:8.0.1453-1ubuntu1.13+esm12:8.0.1453-1ubuntu1.13+esm32:8.0.1453-1ubuntu1.13+esm42:8.0.1453-1ubuntu1.13+esm52:8.0.1453-1ubuntu1.13+esm6 |
2:8.0.1453-1ubuntu1.13+esm7 |
vimUbuntu:20.04:LTS From an advisory covering 14 CVEs |
before 2:8.1.2269-1ubuntu5.21, plus listed versions 2:8.1.0875-5ubuntu22:8.1.0875-5ubuntu32:8.1.0875-5ubuntu42:8.1.2269-1ubuntu12:8.1.2269-1ubuntu4 Show 16 moreShow less2:8.1.2269-1ubuntu52:8.1.2269-1ubuntu5.32:8.1.2269-1ubuntu5.42:8.1.2269-1ubuntu5.62:8.1.2269-1ubuntu5.72:8.1.2269-1ubuntu5.82:8.1.2269-1ubuntu5.92:8.1.2269-1ubuntu5.112:8.1.2269-1ubuntu5.122:8.1.2269-1ubuntu5.132:8.1.2269-1ubuntu5.142:8.1.2269-1ubuntu5.152:8.1.2269-1ubuntu5.162:8.1.2269-1ubuntu5.172:8.1.2269-1ubuntu5.182:8.1.2269-1ubuntu5.20 |
2:8.1.2269-1ubuntu5.21 |
vimUbuntu:22.04:LTS From an advisory covering 14 CVEs |
before 2:8.2.3995-1ubuntu2.15, plus listed versions 2:8.2.2434-3ubuntu32:8.2.2434-3ubuntu42:8.2.3565-1ubuntu12:8.2.3565-1ubuntu22:8.2.3565-1ubuntu3 Show 14 moreShow less2:8.2.3565-1ubuntu52:8.2.3995-1ubuntu12:8.2.3995-1ubuntu22:8.2.3995-1ubuntu2.12:8.2.3995-1ubuntu2.32:8.2.3995-1ubuntu2.42:8.2.3995-1ubuntu2.52:8.2.3995-1ubuntu2.72:8.2.3995-1ubuntu2.82:8.2.3995-1ubuntu2.92:8.2.3995-1ubuntu2.102:8.2.3995-1ubuntu2.112:8.2.3995-1ubuntu2.122:8.2.3995-1ubuntu2.13 |
2:8.2.3995-1ubuntu2.15 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | OSV | |
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-48706 is a low vulnerability (CVSS 3.6) in Vim, published November 22, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.54%, the 45th percentile. Fixed in vim 9.0.2127-r0.
References
github.com/vim/vim/security/advisories/GHSA-c8qm-x72m-q53q
github.com/vim/vim/pull/13552
github.com/vim/vim/commit/26c11c56888d01e298cd8044caf860f3c26f57bb
github.com/gandalf4a/crash_report/blob/main/vim/vim_huaf
openwall.com/lists/oss-security/2023/11/22/3
lists.fedoraproject.org/archives/list/[email protected]/message/DNMFS3IH74KEMMESOA3EOB6MZ56TWGFF
Show 62 moreShow less
lists.fedoraproject.org/archives/list/[email protected]/message/IVA7K73WHQH4KVFDJQ7ELIUD2WK5ZT5E
security.netapp.com/advisory/ntap-20240105-0001
security.alpinelinux.org/vuln/CVE-2023-48706
nvd.nist.gov/vuln/detail/CVE-2023-48706
docs.bell-sw.com/security/cves/CVE-2023-48706
errata.tuxcare.com/els_os/centos7els/CLSA-2026-1777544441.html
github.com/CVEProject/cvelistV5/tree/main/cves/2023/48xxx/CVE-2023-48706.json
security-tracker.debian.org/tracker/CVE-2023-48706
advisories.mageia.org/MGASA-2023-0341.html
bugs.mageia.org/show_bug.cgi?id=32546
openwall.com/lists/oss-security/2023/11/16/1
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1874
nvd.nist.gov/vuln/detail/CVE-2023-48231
nvd.nist.gov/vuln/detail/CVE-2023-48233
nvd.nist.gov/vuln/detail/CVE-2023-48234
nvd.nist.gov/vuln/detail/CVE-2023-48235
nvd.nist.gov/vuln/detail/CVE-2023-48236
nvd.nist.gov/vuln/detail/CVE-2023-48237
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1884
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1901
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1902
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2023-1903
suse.com/support/update/announcement/2024/suse-su-20240783-1
bugzilla.suse.com/1215005
bugzilla.suse.com/1217316
bugzilla.suse.com/1217320
bugzilla.suse.com/1217321
bugzilla.suse.com/1217324
bugzilla.suse.com/1217326
bugzilla.suse.com/1217329
bugzilla.suse.com/1217330
bugzilla.suse.com/1217432
bugzilla.suse.com/1219581
suse.com/security/cve/CVE-2023-4750
suse.com/security/cve/CVE-2023-48231
suse.com/security/cve/CVE-2023-48232
suse.com/security/cve/CVE-2023-48233
suse.com/security/cve/CVE-2023-48234
suse.com/security/cve/CVE-2023-48235
suse.com/security/cve/CVE-2023-48236
suse.com/security/cve/CVE-2023-48237
suse.com/security/cve/CVE-2023-48706
suse.com/security/cve/CVE-2024-22667
suse.com/support/update/announcement/2024/suse-su-20240871-1
suse.com/support/update/announcement/2024/suse-su-20241287-1
ubuntu.com/security/CVE-2023-48706
ubuntu.com/security/notices/USN-6557-1
cve.org/CVERecord?id=CVE-2023-48706
ubuntu.com/security/CVE-2022-1725
ubuntu.com/security/CVE-2022-1771
ubuntu.com/security/CVE-2022-1886
ubuntu.com/security/CVE-2022-1897
ubuntu.com/security/CVE-2022-2000
ubuntu.com/security/CVE-2022-2042
ubuntu.com/security/CVE-2023-46246
ubuntu.com/security/CVE-2023-48231
ubuntu.com/security/CVE-2023-48232
ubuntu.com/security/CVE-2023-48233
ubuntu.com/security/CVE-2023-48234
ubuntu.com/security/CVE-2023-48235
ubuntu.com/security/CVE-2023-48236
ubuntu.com/security/CVE-2023-48237