Amazon Linux 2 : vim, --advisory ALAS2-2026-3883 (ALAS-2026-3883)
| Reporter | Title | Published | Views | Family All 236 |
|---|---|---|---|---|
| CVE-2026-73073 | 18 Aug 202615:25 | – | attackerkb | |
| CVE-2026-57455 | 25 Jun 202615:22 | – | attackerkb | |
| CVE-2026-55892 | 25 Jun 202615:32 | – | attackerkb | |
| CVE-2026-59857 | 9 Jul 202622:34 | – | attackerkb | |
| Amazon Linux 2023 : vim-common, vim-data, vim-default-editor (ALAS2023-2026-1862) | 22 Jun 202600:00 | – | nessus | |
| Amazon Linux 2023 : vim-common, vim-data, vim-default-editor (ALAS2023-2026-1940) | 20 Jul 202600:00 | – | nessus | |
| Amazon Linux 2023 : vim-common, vim-data, vim-default-editor (ALAS2023-2026-1993) | 4 Aug 202600:00 | – | nessus | |
| Amazon Linux 2023 : vim-common, vim-data, vim-default-editor (ALAS2023-2026-2108) | 31 Aug 202600:00 | – | nessus | |
| Alibaba Cloud Linux 3 : 0243: vim (ALINUX3-SA-2026:0243) | 10 Aug 202600:00 | – | nessus | |
| AlmaLinux 9 : vim (ALSA-2026:47982) | 31 Jul 202600:00 | – | nessus |
10
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Amazon Linux 2 Security Advisory ALAS-2026-3883.
##
include('compat.inc');
if (description)
{
script_id(341852);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/08/31");
script_cve_id(
"CVE-2026-52859",
"CVE-2026-55892",
"CVE-2026-57455",
"CVE-2026-59857",
"CVE-2026-73073"
);
script_name(english:"Amazon Linux 2 : vim, --advisory ALAS2-2026-3883 (ALAS-2026-3883)");
script_set_attribute(attribute:"synopsis", value:
"The remote Amazon Linux 2 host is missing a security update.");
script_set_attribute(attribute:"description", value:
"It is, therefore, affected by multiple vulnerabilities as referenced in the ALAS2-2026-3883 advisory.
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function
in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken.
For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it
encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots -- a
base character plus five combining marks -- the bundled libvterm returns the array without a terminating
NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer
reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger
this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in
version 9.2.0565. (CVE-2026-52859)
Vim is an open source, command line text editor. Prior to 9.2.0662, the dump_prefixes() function in
src/spell.c walks a spell-file prefix trie iteratively with a depth counter while dumping the prefixes
that apply to a word. The counter is bounded only by the trie structure itself; it is never checked
against the size of the fixed MAXWLEN-element stack arrays it indexes (prefix[], arridx[], curi[]). A
crafted .spl file, loaded when the user dumps the word list, can drive the descent arbitrarily deep, so
the function writes past the end of those arrays. This is a stack out-of-bounds write that corrupts the
call frame and crashes the editor. This vulnerability is fixed in 9.2.0662. (CVE-2026-55892)
Vim is an open source, command line text editor. Prior to 9.2.0698, the single-byte branch of
spell_soundfold_sofo() in src/spell.c translates a word through a spell file's SOFO (sound-folding) byte
map into a caller-owned result buffer. Its copy loop advances the output index ri with no upper bound and
terminates only on the input NUL, writing one byte per input byte into the MAXWLEN-element stack buffer
the caller provides. A word longer than MAXWLEN, passed to soundfold() (or reached via sound-based spell
suggestion) while a SOFO-based spell language is active, therefore writes past the end of that buffer.
This is a stack out-of-bounds write that corrupts the call frame and crashes the editor. This
vulnerability is fixed in 9.2.0698. (CVE-2026-57455)
Vim is an open source, command line text editor. Prior to 9.2.0725, the single-byte branch of
spell_soundfold_sal() in src/spell.c translates a word through a spell file's SAL sound-folding rules into
a caller-owned result buffer, but its result writes are guarded with reslen < MAXWLEN, allowing reslen to
reach MAXWLEN before res[reslen] = NUL writes one byte past the end of the MAXWLEN-element stack buffer. A
boundary-length word passed to soundfold(), or reached via sound-based spell suggestion while a SAL-based
spell language is active under a non-multibyte 8-bit encoding, can corrupt the eval_soundfold() stack
frame and crash the editor. This issue is fixed in version 9.2.0725. (CVE-2026-59857)
Vim is an open source, command line text editor. Prior to 9.2.0845, StructMembers() in
runtime/autoload/ccomplete.vim constructs and executes a vimgrep command using an insufficiently escaped
typeref: or typename: value from a tags file, allowing an unterminated collection followed by a command
separator to execute arbitrary Ex and operating-system commands when a user invokes C omni-completion with
CTRL-X CTRL-O on a member access whose type is resolved from that tags file. This issue is fixed in
version 9.2.0845. (CVE-2026-73073)
Tenable has extracted the preceding description block directly from the tested product security advisory.
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com//AL2/ALAS2-2026-3883.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/faqs.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-52859.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-55892.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-57455.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-59857.html");
script_set_attribute(attribute:"see_also", value:"https://explore.alas.aws.amazon.com/CVE-2026-73073.html");
script_set_attribute(attribute:"solution", value:
"Run 'yum update vim' or
or 'yum update --advisory ALAS2-2026-3883' to update your system.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:C");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-52859");
script_set_attribute(attribute:"cvss4_score_source", value:"CVE-2026-73073");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vuln_publication_date", value:"2026/06/11");
script_set_attribute(attribute:"patch_publication_date", value:"2026/08/31");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/08/31");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-X11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-common");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-data");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-enhanced");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-filesystem");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:vim-minimal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:xxd");
script_set_attribute(attribute:"cpe", value:"cpe:/o:amazon:linux:2");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Amazon Linux Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/AmazonLinux/release", "Host/AmazonLinux/rpm-list");
exit(0);
}
include("rpm2.inc");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var alas_release = get_kb_item("Host/AmazonLinux/release");
if (isnull(alas_release) || !strlen(alas_release)) audit(AUDIT_OS_NOT, "Amazon Linux");
var os_ver = pregmatch(pattern: "^AL(A|\d+|-\d+)", string:alas_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Amazon Linux");
os_ver = os_ver[1];
if (os_ver != "2")
{
if (os_ver == 'A') os_ver = 'AMI';
audit(AUDIT_OS_NOT, "Amazon Linux 2", "Amazon Linux " + os_ver);
}
if (!get_kb_item("Host/AmazonLinux/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
var pkgs = [
{'reference':'vim-common-9.0.2153-1.amzn2.0.11', 'cpu':'aarch64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-common-9.0.2153-1.amzn2.0.11', 'cpu':'i686', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-common-9.0.2153-1.amzn2.0.11', 'cpu':'x86_64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-data-9.0.2153-1.amzn2.0.11', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-debuginfo-9.0.2153-1.amzn2.0.11', 'cpu':'aarch64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-debuginfo-9.0.2153-1.amzn2.0.11', 'cpu':'i686', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-debuginfo-9.0.2153-1.amzn2.0.11', 'cpu':'x86_64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-enhanced-9.0.2153-1.amzn2.0.11', 'cpu':'aarch64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-enhanced-9.0.2153-1.amzn2.0.11', 'cpu':'i686', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-enhanced-9.0.2153-1.amzn2.0.11', 'cpu':'x86_64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-filesystem-9.0.2153-1.amzn2.0.11', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-minimal-9.0.2153-1.amzn2.0.11', 'cpu':'aarch64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-minimal-9.0.2153-1.amzn2.0.11', 'cpu':'i686', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-minimal-9.0.2153-1.amzn2.0.11', 'cpu':'x86_64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-X11-9.0.2153-1.amzn2.0.11', 'cpu':'aarch64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-X11-9.0.2153-1.amzn2.0.11', 'cpu':'i686', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'vim-X11-9.0.2153-1.amzn2.0.11', 'cpu':'x86_64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'xxd-9.0.2153-1.amzn2.0.11', 'cpu':'aarch64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'xxd-9.0.2153-1.amzn2.0.11', 'cpu':'i686', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'xxd-9.0.2153-1.amzn2.0.11', 'cpu':'x86_64', 'release':'AL2', 'rpm_spec_vers_cmp':TRUE}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var sp = NULL;
var _cpu = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var epoch = NULL;
var allowmaj = NULL;
var exists_check = NULL;
var cves = NULL;
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (!empty_or_null(package_array['release'])) _release = package_array['release'];
if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
if (!empty_or_null(package_array['cves'])) cves = package_array['cves'];
if (reference && _release && (!exists_check || rpm_exists(release:_release, rpm:exists_check))) {
if (rpm_check(release:_release, sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "vim-X11 / vim-common / vim-data / etc");
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
31 Aug 2026 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 3.15.5 - 8.2
CVSS 47.1
EPSS0.00303
SSVC