Lucene search
+L

EulerOS Virtualization 2.11.0 : vim (EulerOS-SA-2026-3568)

🗓️ 18 Sep 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

Use-after-free and heap-buffer overflow in Vim on EulerOS Virtualization 2.11.0.

Related
Refs
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2024-43374
15 Aug 202423:47
cve
cve
CVE
CVE-2024-43802
26 Aug 202418:48
cve
cve
CVE
CVE-2024-47814
7 Oct 202421:16
cve
cve
CVE
CVE-2025-1215
12 Feb 202518:31
cve
cve
CVE
CVE-2025-22134
13 Jan 202520:41
cve
cve
CVE
CVE-2025-24014
20 Jan 202522:53
cve
cve
CVE
CVE-2025-26603
18 Feb 202519:04
cve
cve
CVE
CVE-2025-29768
13 Mar 202517:04
cve
cve
CVE
CVE-2025-53905
15 Jul 202520:48
cve
cve
CVE
CVE-2025-53906
15 Jul 202520:52
cve
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(347151);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/18");

  script_cve_id(
    "CVE-2024-43374",
    "CVE-2024-43802",
    "CVE-2024-47814",
    "CVE-2025-1215",
    "CVE-2025-22134",
    "CVE-2025-24014",
    "CVE-2025-26603",
    "CVE-2025-29768",
    "CVE-2025-53905",
    "CVE-2025-53906",
    "CVE-2026-25749",
    "CVE-2026-26269",
    "CVE-2026-28417",
    "CVE-2026-28418",
    "CVE-2026-28419",
    "CVE-2026-28420",
    "CVE-2026-28421",
    "CVE-2026-28422",
    "CVE-2026-33412",
    "CVE-2026-34982",
    "CVE-2026-35177",
    "CVE-2026-39881",
    "CVE-2026-41411",
    "CVE-2026-42307",
    "CVE-2026-44656",
    "CVE-2026-45130",
    "CVE-2026-46483",
    "CVE-2026-47162"
  );

  script_name(english:"EulerOS Virtualization 2.11.0 : vim (EulerOS-SA-2026-3568)");

  script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS Virtualization host is missing multiple security updates.");
  script_set_attribute(attribute:"description", value:
"According to the versions of the vim packages installed, the EulerOS Virtualization installation on the remote host is
affected by the following vulnerabilities :

    The UNIX editor Vim prior to version 9.1.0678 has a use-after-free error in argument list handling. When
    adding a new file to the argument list, this triggers `Buf*` autocommands. If in such an autocommand the
    buffer that was just opened is closed (including the window where it is shown), this causes the window
    structure to be freed which contains a reference to the argument list that we are actually modifying. Once
    the autocommands are completed, the references to the window and argument list are no longer valid and as
    such cause an use-after-free. Impact is low since the user must either intentionally add some unusual
    autocommands that wipe a buffer during creation (either manually or by sourcing a malicious plugin), but
    it will crash Vim. The issue has been fixed as of Vim patch v9.1.0678.(CVE-2024-43374)

    Vim is an improved version of the unix vi text editor. When flushing the typeahead buffer, Vim moves the
    current position in the typeahead buffer but does not check whether there is enough space left in the
    buffer to handle the next characters.  So this may lead to the tb_off position within the typebuf variable
    to point outside of the valid buffer size, which can then later lead to a heap-buffer overflow in e.g.
    ins_typebuf(). Therefore, when flushing the typeahead buffer, check if there is enough space left before
    advancing the off position. If not, fall back to flush current typebuf contents. It's not quite clear yet,
    what can lead to this situation. It seems to happen when error messages occur (which will cause Vim to
    flush the typeahead buffer) in comnination with several long mappgins and so it may eventually move the
    off position out of a valid buffer size. Impact is low since it is not easily reproducible and requires to
    have several mappings active and run into some error condition. But when this happens, this will cause a
    crash. The issue has been fixed as of Vim patch v9.1.0697. Users are advised to upgrade. There are no
    known workarounds for this issue.(CVE-2024-43802)

    Vim is an open source, command line text editor. A use-after-free was found in Vim  9.1.0764. When
    closing a buffer (visible in a window) a BufWinLeave auto command can cause an use-after-free if this auto
    command happens to re-open the same buffer in a new split window. Impact is low since the user must have
    intentionally set up such a strange auto command and run some buffer unload commands. However this may
    lead to a crash. This issue has been addressed in version 9.1.0764 and all users are advised to upgrade.
    There are no known workarounds for this vulnerability.(CVE-2024-47814)

    When switching to other buffers using the :all command and visual mode still being active, this may cause
    a heap-buffer overflow, because Vim does not properly end visual mode and therefore may try to access
    beyond the end of a line in a buffer. In Patch 9.1.1003 Vim will correctly reset the visual mode before
    opening other windows and buffers and therefore fix this bug. In addition it does verify that it won't try
    to access a position if the position is greater than the corresponding buffer line. Impact is medium since
    the user must have switched on visual mode when executing the :all ex command. The Vim project would like
    to thank github user gandalf4a for reporting this issue. (CVE-2025-22134)

    Vim is an open source, command line text editor. A segmentation fault was found in Vim before 9.1.1043. In
    silent Ex mode (-s -e), Vim typically doesn't show a screen and just operates silently in batch mode.
    However, it is still possible to trigger the function that handles the scrolling of a gui version of Vim
    by feeding some binary characters to Vim. The function that handles the scrolling however may be
    triggering a redraw, which will access the ScreenLines pointer, even so this variable hasn't been
    allocated (since there is no screen). (CVE-2025-24014)

    A vulnerability classified as problematic was found in vim up to 9.1.1096. This vulnerability affects
    unknown code of the file src/main.c. The manipulation of the argument --log leads to memory corruption. It
    is possible to launch the attack on the local host. Upgrading to version 9.1.1097 is able to address this
    issue. The patch is identified as c5654b84480822817bb7b69ebc97c174c91185e9. It is recommended to upgrade
    the affected component.(CVE-2025-1215)

    Vim, a text editor, is vulnerable to potential data loss with zip.vim and special crafted zip files in
    versions prior to 9.1.1198. The impact is medium because a user must be made to view such an archive with
    Vim and then press 'x' on such a strange filename. The issue has been fixed as of Vim patch
    v9.1.1198.(CVE-2025-29768)

    Vim is a greatly improved version of the good old UNIX editor Vi. Vim allows to redirect screen messages
    using the `:redir` ex command to register, variables and files. It also allows to show the contents of
    registers using the `:registers` or `:display` ex command. When redirecting the output of `:display` to a
    register, Vim will free the register content before storing the new content in the register. Now when
    redirecting the `:display` command to a register that is being displayed, Vim will free the content while
    shortly afterwards trying to access it, which leads to a use-after-free. Vim pre 9.1.1115 checks in the
    ex_display() function, that it does not try to redirect to a register while displaying this register at
    the same time. However this check is not complete, and so Vim does not check the `+` and `*` registers
    (which typically donate the X11/clipboard registers, and when a clipboard connection is not possible will
    fall back to use register 0 instead. In Patch 9.1.1115 Vim will therefore skip outputting to register zero
    when trying to redirect to the clipboard registers `*` or `+`. Users are advised to upgrade. There are no
    known workarounds for this vulnerability.(CVE-2025-26603)

    Vim is an open source, command line text editor. Prior to version 9.1.1551, a path traversal issue in
    Vims zip.vim plugin can allow overwriting of arbitrary files when opening specially crafted zip
    archives. Impact is low because this exploit requires direct user interaction. However, successfully
    exploitation can lead to overwriting sensitive files or placing executable code in privileged locations,
    depending on the permissions of the process editing the archive. The victim must edit such a file using
    Vim which will reveal the filename and the file content, a careful user may suspect some strange things
    going on. Successful exploitation could results in the ability to execute arbitrary commands on the
    underlying operating system. Version 9.1.1551 contains a patch for the vulnerability.(CVE-2025-53906)

    Vim is an open source, command line text editor. Prior to version 9.1.1552, a path traversal issue in
    Vims tar.vim plugin can allow overwriting of arbitrary files when opening specially crafted tar
    archives. Impact is low because this exploit requires direct user interaction. However, successfully
    exploitation can lead to overwriting sensitive files or placing executable code in privileged locations,
    depending on the permissions of the process editing the archive. The victim must edit such a file using
    Vim which will reveal the filename and the file content, a careful user may suspect some strange things
    going on. Successful exploitation could results in the ability to execute arbitrary commands on the
    underlying operating system. Version 9.1.1552 contains a patch for the vulnerability.(CVE-2025-53905)

    Vim is an open source, command line text editor. Prior to 9.1.2148, a stack buffer overflow vulnerability
    exists in Vim's NetBeans integration when processing the specialKeys command, affecting Vim builds that
    enable and use the NetBeans feature. The Stack buffer overflow exists in special_keys() (in src
    etbeans.c). The while (*tok) loop writes two bytes per iteration into a 64-byte stack buffer (keybuf) with
    no bounds check. A malicious NetBeans server can overflow keybuf with a single specialKeys command. The
    issue has been fixed as of Vim patch v9.1.2148.(CVE-2026-26269)

    Vim is an open source, command line text editor. Prior to version 9.1.2132, a heap buffer overflow
    vulnerability exists in Vim's tag file resolution logic when processing the 'helpfile' option. The
    vulnerability is located in the get_tagfname() function in src/tag.c. When processing help file tags, Vim
    copies the user-controlled 'helpfile' option value into a fixed-size heap buffer of MAXPATHL + 1 bytes
    (typically 4097 bytes) using an unsafe STRCPY() operation without any bounds checking. This issue has been
    patched in version 9.1.2132.(CVE-2026-25749)

    Vim is an open source, command line text editor. Prior to version 9.2.0074, a heap-based buffer overflow
    out-of-bounds read exists in Vim's Emacs-style tags file parsing logic. When processing a malformed tags
    file, Vim can be tricked into reading up to 7 bytes beyond the allocated memory boundary. Version 9.2.0074
    fixes the issue.(CVE-2026-28418)

    Vim is an open source, command line text editor. Prior to version 9.2.0276, a modeline sandbox bypass in
    Vim allows arbitrary OS command execution when a user opens a crafted file. The `complete`,
    `guitabtooltip` and `printheader` options are missing the `P_MLE` flag, allowing a modeline to be
    executed. Additionally, the `mapset()` function lacks a `check_secure()` call, allowing it to be abused
    from sandboxed expressions. Commit 9.2.0276 fixes the issue.(CVE-2026-34982)

    Vim is an open source, command line text editor. Prior to version 9.2.0202, a command injection
    vulnerability exists in Vim's glob() function on Unix-like systems. By including a newline character (\n)
    in a pattern passed to glob(), an attacker may be able to execute arbitrary shell commands. This
    vulnerability depends on the user's 'shell' setting. This issue has been patched in version
    9.2.0202.(CVE-2026-33412)

    Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in
    Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim
    connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This
    vulnerability is fixed in 9.2.0316.(CVE-2026-39881)

    Vim is an open source, command line text editor. Prior to version 9.2.0073, an OS command injection
    vulnerability exists in the `netrw` standard plugin bundled with Vim. By inducing a user to open a crafted
    URL (e.g., using the `scp://` protocol handler), an attacker can execute arbitrary shell commands with the
    privileges of the Vim process. Version 9.2.0073 fixes the issue.(CVE-2026-28417)

    Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's
    zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives,
    circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in
    9.2.0280.(CVE-2026-35177)

    Vim is an open source, command line text editor. Prior to version 9.2.0075, a heap-based buffer underflow
    exists in Vim's Emacs-style tags file parsing logic. When processing a malformed tags file where a
    delimiter appears at the start of a line, Vim attempts to read memory immediately preceding the allocated
    buffer. Version 9.2.0075 fixes the issue.(CVE-2026-28419)

    Vim is an open source, command line text editor. Prior to version 9.2.0076, a heap-based buffer overflow
    WRITE and an out-of-bounds READ exist in Vim's terminal emulator when processing maximum combining
    characters from Unicode supplementary planes. Version 9.2.0076 fixes the issue.(CVE-2026-28420)

    Vim is an open source, command line text editor. Versions prior to 9.2.0077 have a heap-buffer-overflow
    and a segmentation fault (SEGV) exist in Vim's swap file recovery logic. Both are caused by unvalidated
    fields read from crafted pointer blocks within a swap file. Version 9.2.0077 fixes the
    issue.(CVE-2026-28421)

    Vim is an open source, command line text editor. Prior to version 9.2.0078, a stack-buffer-overflow occurs
    in `build_stl_str_hl()` when rendering a statusline with a multi-byte fill character on a very wide
    terminal. Version 9.2.0078 patches the issue.(CVE-2026-28422)

    Vim is an open source, command line text editor. Prior to version 9.2.0495, a Vimscript code injection
    vulnerability exists in s:NetrwBookHistSave() in the netrw plugin (runtime/pack/dist/opt etrw/autoload
    etrw.vim) when serializing browsed directory paths to the history file ~/.vim/.netrwhist. A directory name
    derived from the filesystem is interpolated into a single-quoted Vimscript string literal without escaping
    embedded single quotes, allowing a crafted directory name to break out of the string context and execute
    arbitrary Vimscript, including shell commands via system() and :!, the next time the history file is
    sourced. This issue has been patched in version 9.2.0495.(CVE-2026-47162)

    Vim is an open source, command line text editor. Prior to version 9.2.0383, an OS command injection
    vulnerability exists in the netrw standard plugin bundled with Vim. By inducing a user to open a crafted
    URL (e.g., using the sftp:// or file:// protocol handlers), an attacker can execute arbitrary shell
    commands with the privileges of the Vim process. This issue has been patched in version
    9.2.0383.(CVE-2026-42307)

    Vim is an open source, command line text editor. Prior to version 9.2.0435, an OS command injection
    vulnerability exists in Vim's :find command-line completion. When the path option contains backtick-
    enclosed shell commands, those commands are executed during file name completion. Because the path option
    lacks the P_SECURE flag, it can be set from a modeline, allowing an attacker who controls the contents of
    a file to execute arbitrary shell commands when the user opens that file in Vim and triggers :find
    completion. This issue has been patched in version 9.2.0435.(CVE-2026-44656)

    Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists
    in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active.
    An attacker-controlled length field in the spell file's compound section overflows a 32-bit signed integer
    multiplication, causing a small buffer to be allocated for a write loop that runs many iterations,
    overflowing the heap. Because the 'spelllang' option can be set from a modeline, a text file modeline can
    trigger spell file loading if a malicious .spl file has been planted on the runtimepath. This issue has
    been patched in version 9.2.0450.(CVE-2026-45130)

    Vim is an open source, command line text editor. Prior to 9.2.0479, a command injection vulnerability
    exists in tar#Vimuntar() in runtime/autoload/tar.vim when decompressing .tgz archives on Unix-like
    systems. The function builds :!gunzip and :!gzip -d commands using shellescape(tartail) without the
    {special} flag, allowing a crafted archive filename to trigger Vim cmdline-special expansion and execute
    shell commands in the user's context. This vulnerability is fixed in 9.2.0479.(CVE-2026-46483)

    Vim is an open source, command line text editor. Prior to 9.2.0357, A command injection vulnerability
    exists in Vim's tag file processing. When resolving a tag, the filename field from the tags file is passed
    through wildcard expansion to resolve environment variables and wildcards. If the filename field contains
    backtick syntax (e.g., `command`), Vim executes the embedded command via the system shell with the full
    privileges of the running user.(CVE-2026-41411)

Tenable has extracted the preceding description block directly from the EulerOS Virtualization vim security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2026-3568
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?b55c2e18");
  script_set_attribute(attribute:"solution", value:
"Update the affected vim packages.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:S/C:N/I:N/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:R/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:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/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:P");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-1215");
  script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2026-47162");
  script_set_attribute(attribute:"cvss4_score_source", value:"CVE-2026-47162");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2024/08/15");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/09/16");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/18");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:vim-common");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:vim-enhanced");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:vim-filesystem");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:vim-minimal");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:2.11.0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Huawei 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/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/uvp_version");

  exit(0);
}

include("rpm.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);

var _release = get_kb_item("Host/EulerOS/release");
if (isnull(_release) || _release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
var uvp = get_kb_item("Host/EulerOS/uvp_version");
if (uvp != "2.11.0") audit(AUDIT_OS_NOT, "EulerOS Virtualization 2.11.0");
if (!get_kb_item("Host/EulerOS/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$" && "aarch64" >!< cpu && "x86" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "x86" >!< cpu) audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);

var flag = 0;

var pkgs = [
  "vim-common-9.0-1.h42.eulerosv2r11",
  "vim-enhanced-9.0-1.h42.eulerosv2r11",
  "vim-filesystem-9.0-1.h42.eulerosv2r11",
  "vim-minimal-9.0-1.h42.eulerosv2r11"
];

foreach (var pkg in pkgs)
  if (rpm_check(release:"EulerOS-2.0", reference:pkg)) flag++;

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_NOTE,
    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");
}

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

18 Sep 2026 00:00Current
CVSS 3.18.2 - 8.8
CVSS 21.7
CVSS 47.3
CVSS 32.8
EPSS0.01162
SSVC
2