The remote Redhat Enterprise Linux 7 host has one or more packages installed that are affected by multiple vulnerabilities that have been acknowledged by the vendor but will not be patched.
vim: Integer overflow at an unserialize_uep memory allocation site (CVE-2017-6350)
vim: Heap-based Buffer Overflow (CVE-2022-3520)
VIM version 8.0.1187 (and other versions most likely) ignores umask when creating a swap file ([ORIGINAL_FILENAME].swp) resulting in files that may be world readable or otherwise accessible in ways not intended by the user running the vi binary. (CVE-2017-1000382)
Vim 8.0 allows attackers to cause a denial of service (invalid free) or possibly have unspecified other impact via a crafted source (aka -S) file. NOTE: there might be a limited number of scenarios in which this has security relevance. (CVE-2017-11109)
fileio.c in Vim prior to 8.0.1263 sets the group ownership of a .swp file to the editor’s primary group (which may be different from the group ownership of the original file), which allows local users to obtain sensitive information by leveraging an applicable group membership, as demonstrated by /etc/shadow owned by root:shadow mode 0640, but /etc/.shadow.swp owned by root:users mode 0640, a different vulnerability than CVE-2017-1000382. (CVE-2017-17087)
vim before patch 8.0.0322 does not properly validate values for tree length when handling a spell file, which may result in an integer overflow at a memory allocation site and a resultant buffer overflow.
(CVE-2017-5953)
vim 8.2.2348 is affected by null pointer dereference, allows local attackers to cause a denial of service (DoS) via the ex_buffer_all method. (CVE-2021-3236)
vim is vulnerable to Heap-based Buffer Overflow (CVE-2021-3778, CVE-2021-3872, CVE-2021-3903, CVE-2021-3927, CVE-2021-3984, CVE-2021-4019)
vim is vulnerable to Use After Free (CVE-2021-3796, CVE-2021-3974, CVE-2021-4069, CVE-2021-4192)
vim is vulnerable to Out-of-bounds Read (CVE-2021-4166, CVE-2021-4193)
Access of Memory Location Before Start of Buffer in GitHub repository vim/vim prior to 8.2.
(CVE-2022-0351)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 8.2. (CVE-2022-0359, CVE-2022-2125, CVE-2022-2182, CVE-2022-2207)
Use after free in utf_ptr2char in GitHub repository vim/vim prior to 8.2.4646. (CVE-2022-1154)
Heap-based Buffer Overflow in function cmdline_erase_chars in GitHub repository vim/vim prior to 8.2.4899.
This vulnerabilities are capable of crashing software, modify memory, and possible remote execution (CVE-2022-1619)
Heap buffer overflow in vim_strncpy find_word in GitHub repository vim/vim prior to 8.2.4919. This vulnerability is capable of crashing software, Bypass Protection Mechanism, Modify Memory, and possible remote execution (CVE-2022-1621)
Buffer Over-read in function find_next_quote in GitHub repository vim/vim prior to 8.2.4925. This vulnerabilities are capable of crashing software, Modify Memory, and possible remote execution (CVE-2022-1629)
Buffer Over-read in function grab_file_name in GitHub repository vim/vim prior to 8.2.4956. This vulnerability is capable of crashing the software, memory modification, and possible remote execution.
(CVE-2022-1720)
Buffer Over-read in GitHub repository vim/vim prior to 8.2. (CVE-2022-2124, CVE-2022-2175)
Out-of-bounds Read in GitHub repository vim/vim prior to 8.2. (CVE-2022-2126, CVE-2022-2183, CVE-2022-2206)
Out-of-bounds Write in GitHub repository vim/vim prior to 8.2. (CVE-2022-2129, CVE-2022-2210)
NULL Pointer Dereference in GitHub repository vim/vim prior to 8.2.5163. (CVE-2022-2208)
NULL Pointer Dereference in GitHub repository vim/vim prior to 8.2. (CVE-2022-2231)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0. (CVE-2022-2284)
Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0. (CVE-2022-2285)
Out-of-bounds Read in GitHub repository vim/vim prior to 9.0. (CVE-2022-2286, CVE-2022-2287)
Out-of-bounds Write in GitHub repository vim/vim prior to 9.0. (CVE-2022-2288)
Use After Free in GitHub repository vim/vim prior to 9.0. (CVE-2022-2289)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0044. (CVE-2022-2343)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0045. (CVE-2022-2344)
Use After Free in GitHub repository vim/vim prior to 9.0.0046. (CVE-2022-2345)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0101. (CVE-2022-2571)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0102. (CVE-2022-2580)
Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.0104. (CVE-2022-2581)
Out-of-bounds Write to API in GitHub repository vim/vim prior to 9.0.0100. (CVE-2022-2598)
Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.0212. (CVE-2022-2816)
Use After Free in GitHub repository vim/vim prior to 9.0.0213. (CVE-2022-2817)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0211. (CVE-2022-2819)
Improper Validation of Specified Quantity in Input in GitHub repository vim/vim prior to 9.0.0218.
(CVE-2022-2845)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0220. (CVE-2022-2849)
Use After Free in GitHub repository vim/vim prior to 9.0.0221. (CVE-2022-2862)
NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0224. (CVE-2022-2874)
Use After Free in GitHub repository vim/vim prior to 9.0.0225. (CVE-2022-2889)
NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0240. (CVE-2022-2923)
Use After Free in GitHub repository vim/vim prior to 9.0.0246. (CVE-2022-2946)
NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0259. (CVE-2022-2980)
Use After Free in GitHub repository vim/vim prior to 9.0.0322. (CVE-2022-3037)
NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0404. (CVE-2022-3153)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0483. (CVE-2022-3234)
Use After Free in GitHub repository vim/vim prior to 9.0.0490. (CVE-2022-3235)
Use After Free in GitHub repository vim/vim prior to 9.0.0530. (CVE-2022-3256)
Stack-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0577. (CVE-2022-3296)
Use After Free in GitHub repository vim/vim prior to 9.0.0614. (CVE-2022-3352)
Use After Free in GitHub repository vim/vim prior to 9.0.0789. (CVE-2022-3591)
A vulnerability was found in vim and classified as problematic. Affected by this issue is the function qf_update_buffer of the file quickfix.c of the component autocmd Handler. The manipulation leads to use after free. The attack may be launched remotely. Upgrading to version 9.0.0805 is able to address this issue. The name of the patch is d0fab10ed2a86698937e3c3fed2f10bd9bb5e731. It is recommended to upgrade the affected component. The identifier of this vulnerability is VDB-212324. (CVE-2022-3705)
Use After Free in GitHub repository vim/vim prior to 9.0.0882. (CVE-2022-4292)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1144. (CVE-2023-0051)
Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1145. (CVE-2023-0054)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1189. (CVE-2023-0288)
Divide By Zero in GitHub repository vim/vim prior to 9.0.1247. (CVE-2023-0512)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1376. (CVE-2023-1170)
Incorrect Calculation of Buffer Size in GitHub repository vim/vim prior to 9.0.1378. (CVE-2023-1175)
NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1392. (CVE-2023-1264)
NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1531. (CVE-2023-2609)
Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1532. (CVE-2023-2610)
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. (CVE-2023-46246)
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. 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. This issue has been addressed in commit cb0b99f0
which has been included in release version 9.0.2107. Users are advised to upgrade. There are no known workarounds for this vulnerability. (CVE-2023-48232)
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)
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1969. (CVE-2023-5344)
NULL Pointer Dereference in GitHub repository vim/vim prior to 20d161ace307e28690229b68584f2d84556f8960.
(CVE-2023-5441)
Use After Free in GitHub repository vim/vim prior to v9.0.2010. (CVE-2023-5535)
Vim before 9.0.2142 has a stack-based buffer overflow because did_set_langmap in map.c calls sprintf to write to the error buffer that is passed down to the option callback functions. (CVE-2024-22667)
Note that Nessus has not tested for these issues but has instead relied on the package manager’s report that the package is installed.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Red Hat Security Advisory vim. The text
# itself is copyright (C) Red Hat, Inc.
##
include('compat.inc');
if (description)
{
script_id(196374);
script_version("1.0");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/05/11");
script_cve_id(
"CVE-2017-5953",
"CVE-2017-6350",
"CVE-2017-11109",
"CVE-2017-17087",
"CVE-2017-1000382",
"CVE-2021-3236",
"CVE-2021-3778",
"CVE-2021-3796",
"CVE-2021-3872",
"CVE-2021-3903",
"CVE-2021-3927",
"CVE-2021-3974",
"CVE-2021-3984",
"CVE-2021-4019",
"CVE-2021-4069",
"CVE-2021-4166",
"CVE-2021-4192",
"CVE-2021-4193",
"CVE-2022-0351",
"CVE-2022-0359",
"CVE-2022-1154",
"CVE-2022-1619",
"CVE-2022-1621",
"CVE-2022-1629",
"CVE-2022-1720",
"CVE-2022-2124",
"CVE-2022-2125",
"CVE-2022-2126",
"CVE-2022-2129",
"CVE-2022-2175",
"CVE-2022-2182",
"CVE-2022-2183",
"CVE-2022-2206",
"CVE-2022-2207",
"CVE-2022-2208",
"CVE-2022-2210",
"CVE-2022-2231",
"CVE-2022-2284",
"CVE-2022-2285",
"CVE-2022-2286",
"CVE-2022-2287",
"CVE-2022-2288",
"CVE-2022-2289",
"CVE-2022-2343",
"CVE-2022-2344",
"CVE-2022-2345",
"CVE-2022-2571",
"CVE-2022-2580",
"CVE-2022-2581",
"CVE-2022-2598",
"CVE-2022-2816",
"CVE-2022-2817",
"CVE-2022-2819",
"CVE-2022-2845",
"CVE-2022-2849",
"CVE-2022-2862",
"CVE-2022-2874",
"CVE-2022-2889",
"CVE-2022-2923",
"CVE-2022-2946",
"CVE-2022-2980",
"CVE-2022-3037",
"CVE-2022-3153",
"CVE-2022-3234",
"CVE-2022-3235",
"CVE-2022-3256",
"CVE-2022-3296",
"CVE-2022-3352",
"CVE-2022-3520",
"CVE-2022-3591",
"CVE-2022-3705",
"CVE-2022-4292",
"CVE-2023-0051",
"CVE-2023-0054",
"CVE-2023-0288",
"CVE-2023-0512",
"CVE-2023-1170",
"CVE-2023-1175",
"CVE-2023-1264",
"CVE-2023-2609",
"CVE-2023-2610",
"CVE-2023-5344",
"CVE-2023-5441",
"CVE-2023-5535",
"CVE-2023-46246",
"CVE-2023-48231",
"CVE-2023-48232",
"CVE-2023-48233",
"CVE-2023-48234",
"CVE-2023-48235",
"CVE-2023-48236",
"CVE-2023-48237",
"CVE-2023-48706",
"CVE-2024-22667"
);
script_name(english:"RHEL 7 : vim (Unpatched Vulnerability)");
script_set_attribute(attribute:"synopsis", value:
"The remote Red Hat 7 host is affected by multiple vulnerabilities that will not be patched.");
script_set_attribute(attribute:"description", value:
"The remote Redhat Enterprise Linux 7 host has one or more packages installed that are affected by multiple
vulnerabilities that have been acknowledged by the vendor but will not be patched.
- vim: Integer overflow at an unserialize_uep memory allocation site (CVE-2017-6350)
- vim: Heap-based Buffer Overflow (CVE-2022-3520)
- VIM version 8.0.1187 (and other versions most likely) ignores umask when creating a swap file
([ORIGINAL_FILENAME].swp) resulting in files that may be world readable or otherwise accessible in ways
not intended by the user running the vi binary. (CVE-2017-1000382)
- Vim 8.0 allows attackers to cause a denial of service (invalid free) or possibly have unspecified other
impact via a crafted source (aka -S) file. NOTE: there might be a limited number of scenarios in which
this has security relevance. (CVE-2017-11109)
- fileio.c in Vim prior to 8.0.1263 sets the group ownership of a .swp file to the editor's primary group
(which may be different from the group ownership of the original file), which allows local users to obtain
sensitive information by leveraging an applicable group membership, as demonstrated by /etc/shadow owned
by root:shadow mode 0640, but /etc/.shadow.swp owned by root:users mode 0640, a different vulnerability
than CVE-2017-1000382. (CVE-2017-17087)
- vim before patch 8.0.0322 does not properly validate values for tree length when handling a spell file,
which may result in an integer overflow at a memory allocation site and a resultant buffer overflow.
(CVE-2017-5953)
- vim 8.2.2348 is affected by null pointer dereference, allows local attackers to cause a denial of service
(DoS) via the ex_buffer_all method. (CVE-2021-3236)
- vim is vulnerable to Heap-based Buffer Overflow (CVE-2021-3778, CVE-2021-3872, CVE-2021-3903,
CVE-2021-3927, CVE-2021-3984, CVE-2021-4019)
- vim is vulnerable to Use After Free (CVE-2021-3796, CVE-2021-3974, CVE-2021-4069, CVE-2021-4192)
- vim is vulnerable to Out-of-bounds Read (CVE-2021-4166, CVE-2021-4193)
- Access of Memory Location Before Start of Buffer in GitHub repository vim/vim prior to 8.2.
(CVE-2022-0351)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 8.2. (CVE-2022-0359, CVE-2022-2125,
CVE-2022-2182, CVE-2022-2207)
- Use after free in utf_ptr2char in GitHub repository vim/vim prior to 8.2.4646. (CVE-2022-1154)
- Heap-based Buffer Overflow in function cmdline_erase_chars in GitHub repository vim/vim prior to 8.2.4899.
This vulnerabilities are capable of crashing software, modify memory, and possible remote execution
(CVE-2022-1619)
- Heap buffer overflow in vim_strncpy find_word in GitHub repository vim/vim prior to 8.2.4919. This
vulnerability is capable of crashing software, Bypass Protection Mechanism, Modify Memory, and possible
remote execution (CVE-2022-1621)
- Buffer Over-read in function find_next_quote in GitHub repository vim/vim prior to 8.2.4925. This
vulnerabilities are capable of crashing software, Modify Memory, and possible remote execution
(CVE-2022-1629)
- Buffer Over-read in function grab_file_name in GitHub repository vim/vim prior to 8.2.4956. This
vulnerability is capable of crashing the software, memory modification, and possible remote execution.
(CVE-2022-1720)
- Buffer Over-read in GitHub repository vim/vim prior to 8.2. (CVE-2022-2124, CVE-2022-2175)
- Out-of-bounds Read in GitHub repository vim/vim prior to 8.2. (CVE-2022-2126, CVE-2022-2183,
CVE-2022-2206)
- Out-of-bounds Write in GitHub repository vim/vim prior to 8.2. (CVE-2022-2129, CVE-2022-2210)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 8.2.5163. (CVE-2022-2208)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 8.2. (CVE-2022-2231)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0. (CVE-2022-2284)
- Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0. (CVE-2022-2285)
- Out-of-bounds Read in GitHub repository vim/vim prior to 9.0. (CVE-2022-2286, CVE-2022-2287)
- Out-of-bounds Write in GitHub repository vim/vim prior to 9.0. (CVE-2022-2288)
- Use After Free in GitHub repository vim/vim prior to 9.0. (CVE-2022-2289)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0044. (CVE-2022-2343)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0045. (CVE-2022-2344)
- Use After Free in GitHub repository vim/vim prior to 9.0.0046. (CVE-2022-2345)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0101. (CVE-2022-2571)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0102. (CVE-2022-2580)
- Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.0104. (CVE-2022-2581)
- Out-of-bounds Write to API in GitHub repository vim/vim prior to 9.0.0100. (CVE-2022-2598)
- Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.0212. (CVE-2022-2816)
- Use After Free in GitHub repository vim/vim prior to 9.0.0213. (CVE-2022-2817)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0211. (CVE-2022-2819)
- Improper Validation of Specified Quantity in Input in GitHub repository vim/vim prior to 9.0.0218.
(CVE-2022-2845)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0220. (CVE-2022-2849)
- Use After Free in GitHub repository vim/vim prior to 9.0.0221. (CVE-2022-2862)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0224. (CVE-2022-2874)
- Use After Free in GitHub repository vim/vim prior to 9.0.0225. (CVE-2022-2889)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0240. (CVE-2022-2923)
- Use After Free in GitHub repository vim/vim prior to 9.0.0246. (CVE-2022-2946)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0259. (CVE-2022-2980)
- Use After Free in GitHub repository vim/vim prior to 9.0.0322. (CVE-2022-3037)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.0404. (CVE-2022-3153)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0483. (CVE-2022-3234)
- Use After Free in GitHub repository vim/vim prior to 9.0.0490. (CVE-2022-3235)
- Use After Free in GitHub repository vim/vim prior to 9.0.0530. (CVE-2022-3256)
- Stack-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0577. (CVE-2022-3296)
- Use After Free in GitHub repository vim/vim prior to 9.0.0614. (CVE-2022-3352)
- Use After Free in GitHub repository vim/vim prior to 9.0.0789. (CVE-2022-3591)
- A vulnerability was found in vim and classified as problematic. Affected by this issue is the function
qf_update_buffer of the file quickfix.c of the component autocmd Handler. The manipulation leads to use
after free. The attack may be launched remotely. Upgrading to version 9.0.0805 is able to address this
issue. The name of the patch is d0fab10ed2a86698937e3c3fed2f10bd9bb5e731. It is recommended to upgrade the
affected component. The identifier of this vulnerability is VDB-212324. (CVE-2022-3705)
- Use After Free in GitHub repository vim/vim prior to 9.0.0882. (CVE-2022-4292)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1144. (CVE-2023-0051)
- Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1145. (CVE-2023-0054)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1189. (CVE-2023-0288)
- Divide By Zero in GitHub repository vim/vim prior to 9.0.1247. (CVE-2023-0512)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1376. (CVE-2023-1170)
- Incorrect Calculation of Buffer Size in GitHub repository vim/vim prior to 9.0.1378. (CVE-2023-1175)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1392. (CVE-2023-1264)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1531. (CVE-2023-2609)
- Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1532. (CVE-2023-2610)
- 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. (CVE-2023-46246)
- 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. 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. This issue has been
addressed in commit `cb0b99f0` which has been included in release version 9.0.2107. Users are advised to
upgrade. There are no known workarounds for this vulnerability. (CVE-2023-48232)
- 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)
- Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1969. (CVE-2023-5344)
- NULL Pointer Dereference in GitHub repository vim/vim prior to 20d161ace307e28690229b68584f2d84556f8960.
(CVE-2023-5441)
- Use After Free in GitHub repository vim/vim prior to v9.0.2010. (CVE-2023-5535)
- Vim before 9.0.2142 has a stack-based buffer overflow because did_set_langmap in map.c calls sprintf to
write to the error buffer that is passed down to the option callback functions. (CVE-2024-22667)
Note that Nessus has not tested for these issues but has instead relied on the package manager's report that the package
is installed.");
script_set_attribute(attribute:"solution", value:
"The vendor has acknowledged the vulnerabilities but no solution has been provided. Refer to the vendor for remediation
guidance.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-6350");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2022-3520");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2017/02/10");
script_set_attribute(attribute:"plugin_publication_date", value:"2024/05/11");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:7");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:8");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:9");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:vim");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Red Hat Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl", "redhat_repos.nasl");
script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
exit(0);
}
include('rpm.inc');
include('rhel.inc');
if (!get_kb_item("global_settings/vendor_unpatched"))
exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/RedHat/release');
if (isnull(os_release) || 'Red Hat' >!< os_release) audit(AUDIT_OS_NOT, 'Red Hat');
var os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:os_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'Red Hat');
os_ver = os_ver[1];
if (!rhel_check_release(operator: 'ge', os_version: os_ver, rhel_version: '7')) audit(AUDIT_OS_NOT, 'Red Hat 7.x', 'Red Hat ' + os_ver);
if (!get_kb_item('Host/RedHat/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu && 'ppc' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Red Hat', cpu);
var constraints = [
{
'pkgs': [
{'reference':'vim', 'release':'7', 'rpm_spec_vers_cmp':TRUE, 'unpatched_pkg':'vim'}
]
}
];
var flag = 0;
foreach var constraint_array ( constraints ) {
var repo_relative_urls = NULL;
var enterprise_linux_flag = rhel_repo_urls_has_content_dist_rhel(repo_urls:repo_relative_urls);
foreach var pkg ( constraint_array['pkgs'] ) {
var unpatched_pkg = NULL;
var _release = NULL;
var sp = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var exists_check = NULL;
var cves = NULL;
if (!empty_or_null(pkg['unpatched_pkg'])) unpatched_pkg = pkg['unpatched_pkg'];
if (!empty_or_null(pkg['release'])) _release = 'RHEL' + pkg['release'];
if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
if (unpatched_pkg &&
_release &&
(!exists_check || rpm_exists(release:_release, rpm:exists_check)) &&
unpatched_package_exists(release:_release, package:unpatched_pkg, cves: cves)) flag++;
}
}
if (flag)
{
var extra = NULL;
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : unpatched_packages_report()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'vim');
}
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000382
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11109
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17087
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5953
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6350
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3236
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3778
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3796
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3872
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3903
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3927
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3974
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3984
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4019
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4069
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4166
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4192
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4193
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0351
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0359
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1154
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1619
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1621
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1629
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1720
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2124
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2125
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2126
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2129
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2175
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2182
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2183
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2206
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2207
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2208
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2210
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2231
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2284
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2285
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2286
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2287
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2288
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2289
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2343
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2344
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2345
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2571
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2580
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2581
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2598
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2816
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2817
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2819
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2845
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2849
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2862
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2874
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2889
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2923
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2946
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2980
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3037
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3153
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3234
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3235
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3256
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3296
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3352
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3520
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3591
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3705
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-4292
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0051
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0054
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0288
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0512
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-1170
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-1175
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-1264
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-2609
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-2610
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-46246
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48231
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48232
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48233
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48234
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48235
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48236
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48237
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48706
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-5344
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-5441
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-5535
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-22667