Lucene search
K

EulerOS Virtualization 2.13.1 : grub2 (EulerOS-SA-2026-1636)

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

GRUB2 on EulerOS virtualization has gettext use-after-free, normal module use-after-free, and universal serial bus string crash.

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

include('compat.inc');

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

  script_cve_id(
    "CVE-2025-61661",
    "CVE-2025-61662",
    "CVE-2025-61663",
    "CVE-2025-61664"
  );

  script_name(english:"EulerOS Virtualization 2.13.1 : grub2 (EulerOS-SA-2026-1636)");

  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 grub2 packages installed, the EulerOS Virtualization installation on the remote host is
affected by the following vulnerabilities :

    A vulnerability has been identified in the GRUB (Grand Unified Bootloader) component. This flaw occurs
    because the bootloader mishandles string conversion when reading information from a USB device, allowing
    an attacker to exploit inconsistent length values. A local attacker can connect a maliciously configured
    USB device during the boot sequence to trigger this issue. A successful exploitation may lead GRUB to
    crash, leading to a Denial of Service. Data corruption may be also possible, although given the complexity
    of the exploit the impact is most likely limited.(CVE-2025-61661)

    A Use-After-Free vulnerability has been discovered in GRUB's gettext module. This flaw stems from a
    programming error where the gettext command remains registered in memory after its module is unloaded. An
    attacker can exploit this condition by invoking the orphaned command, causing the application to access a
    memory location that is no longer valid. An attacker could exploit this vulnerability to cause grub to
    crash, leading to a Denial of Service. Possible data integrity or confidentiality compromise is not
    discarded.(CVE-2025-61662)

    A vulnerability in the GRUB2 bootloader has been identified in the normal module. This flaw, a memory Use
    After Free issue, occurs because the normal_exit command is not properly unregistered when its related
    module is unloaded. An attacker can exploit this condition by invoking the command after the module has
    been removed, causing the system to improperly access a previously freed memory location. This leads to a
    system crash or possible impacts in data confidentiality and integrity.(CVE-2025-61664)

    A vulnerability has been identified in the GRUB2 bootloader's normal command that poses an immediate
    Denial of Service (DoS) risk. This flaw is a Use-after-Free issue, caused because the normal command is
    not properly unregistered when the module is unloaded. An attacker who can execute this command can force
    the system to access memory locations that are no longer valid. Successful exploitation leads directly to
    system instability, which can result in a complete crash and halt system availability. Impact on the data
    integrity and confidentiality is also not discarded.(CVE-2025-61663)

Tenable has extracted the preceding description block directly from the EulerOS Virtualization grub2 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-1636
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?b1cac810");
  script_set_attribute(attribute:"solution", value:
"Update the affected grub2 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:U/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:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-61662");

  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:"2025/11/18");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/03/18");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/03/18");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:grub2-common");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:grub2-efi-aa64");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:grub2-efi-aa64-modules");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:grub2-tools");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:grub2-tools-extra");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:grub2-tools-minimal");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:2.13.1");
  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.13.1") audit(AUDIT_OS_NOT, "EulerOS Virtualization 2.13.1");
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);

var flag = 0;

var pkgs = [
  "grub2-common-2.06-44.h13.eulerosv2r13",
  "grub2-efi-aa64-2.06-44.h13.eulerosv2r13",
  "grub2-efi-aa64-modules-2.06-44.h13.eulerosv2r13",
  "grub2-tools-2.06-44.h13.eulerosv2r13",
  "grub2-tools-extra-2.06-44.h13.eulerosv2r13",
  "grub2-tools-minimal-2.06-44.h13.eulerosv2r13"
];

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, "grub2");
}

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 Mar 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.17.8
EPSS0.00194
SSVC
2