Lucene search
K

EulerOS Virtualization 2.10.0 : vim (EulerOS-SA-2026-1202)

🗓️ 31 Jan 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 3 Views

Vim on EulerOS Virtualization 2.10.0 has tar.vim and zip.vim path traversal flaws before patch versions 9.1.1552 and 9.1.1551, risking file overwrite and possible code execution.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(297293);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/02/03");

  script_cve_id(
    "CVE-2025-1215",
    "CVE-2025-22134",
    "CVE-2025-24014",
    "CVE-2025-26603",
    "CVE-2025-29768",
    "CVE-2025-53905",
    "CVE-2025-53906"
  );

  script_name(english:"EulerOS Virtualization 2.10.0 : vim (EulerOS-SA-2026-1202)");

  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 :

    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 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)

    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. The issue has been fixed as of Vim patch
    v9.1.1003(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). This vulnerability is fixed in 9.1.1043.(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)

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-1202
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?f447a1d9");
  script_set_attribute(attribute:"solution", value:
"Update the affected vim packages.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:S/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/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:"cvss4_vector", value:"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:L/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:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2025/01/13");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/01/30");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/01/31");

  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.10.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.10.0") audit(AUDIT_OS_NOT, "EulerOS Virtualization 2.10.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.h22.r5.eulerosv2r10",
  "vim-enhanced-9.0-1.h22.r5.eulerosv2r10",
  "vim-filesystem-9.0-1.h22.r5.eulerosv2r10",
  "vim-minimal-9.0-1.h22.r5.eulerosv2r10"
];

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

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    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

03 Feb 2026 00:00Current
5.1Medium risk
Vulners AI Score5.1
CVSS 3.14.4 - 7.8
CVSS 21.7
CVSS 42.4
CVSS 32.8
EPSS0.00731
SSVC
3