Lucene search
+L

EulerOS Virtualization 2.11.0 : util-linux (EulerOS-SA-2026-3567)

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

TOCTOU in EulerOS Virtualization 2.11.0 util-linux SUID mount allows local privilege escalation.

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

include('compat.inc');

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

  script_cve_id("CVE-2025-14104", "CVE-2026-3184", "CVE-2026-27456");
  script_xref(name:"IAVA", value:"2026-A-0384");

  script_name(english:"EulerOS Virtualization 2.11.0 : util-linux (EulerOS-SA-2026-3567)");

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

    A flaw was found in util-linux. This vulnerability allows a heap buffer overread when processing 256-byte
    usernames, specifically within the `setpwnam()` function, affecting SUID (Set User ID) login-utils
    utilities writing to the password database.(CVE-2025-14104)

    A flaw was found in util-linux. Improper hostname canonicalization in the `login(1)` utility, when invoked
    with the `-h` option, can modify the supplied remote hostname before setting `PAM_RHOST`. A remote
    attacker could exploit this by providing a specially crafted hostname, potentially bypassing host-based
    Pluggable Authentication Modules (PAM) access control rules that rely on fully qualified domain names.
    This could lead to unauthorized access.(CVE-2026-3184)

    util-linux is a random collection of Linux utilities. Prior to version 2.41.4, a TOCTOU (Time-of-Check-
    Time-of-Use) vulnerability has been identified in the SUID binary /usr/bin/mount from util-linux. The
    mount binary, when setting up loop devices, validates the source file path with user privileges via fork()
    + setuid() + realpath(), but subsequently re-canonicalizes and opens it with root privileges (euid=0)
    without verifying that the path has not been replaced between both operations. Neither O_NOFOLLOW, nor
    inode comparison, nor post-open fstat() are employed. This allows a local unprivileged user to replace the
    source file with a symlink pointing to any root-owned file or device during the race window, causing the
    SUID binary to open and mount it as root. Exploitation requires an /etc/fstab entry with user,loop options
    whose path points to a directory where the attacker has write permission, and that /usr/bin/mount has the
    SUID bit set (the default configuration on virtually all Linux distributions). The impact is unauthorized
    read access to root-protected files and block devices, including backup images, disk volumes, and any file
    containing a valid filesystem. This issue has been patched in version 2.41.4.(CVE-2026-27456)

Tenable has extracted the preceding description block directly from the EulerOS Virtualization util-linux 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-3567
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?3441d45a");
  script_set_attribute(attribute:"solution", value:
"Update the affected util-linux packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N");
  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:N/I:L/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-3184");

  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/12/05");
  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:libblkid");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libfdisk");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libmount");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libsmartcols");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libuuid");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:util-linux");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:util-linux-user");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:2.11.0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_set_attribute(attribute:"stig_severity", value:"II");
  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 = [
  "libblkid-2.37.2-5.h30.eulerosv2r11",
  "libfdisk-2.37.2-5.h30.eulerosv2r11",
  "libmount-2.37.2-5.h30.eulerosv2r11",
  "libsmartcols-2.37.2-5.h30.eulerosv2r11",
  "libuuid-2.37.2-5.h30.eulerosv2r11",
  "util-linux-2.37.2-5.h30.eulerosv2r11",
  "util-linux-user-2.37.2-5.h30.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_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, "util-linux");
}

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
5.9Medium risk
Vulners AI Score5.9
CVSS 3.15.3 - 6.1
EPSS0.00436
SSVC
7