Lucene search
+L

EulerOS Virtualization 2.11.0 : glibc (EulerOS-SA-2026-3504)

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

EulerOS Virtualization 2.11.0 glibc multiple vulnerabilities including heap corruption.

Related
Refs
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2025-0395
22 Jan 202513:11
cve
cve
CVE
CVE-2025-15281
20 Jan 202613:22
cve
cve
CVE
CVE-2025-4802
16 May 202519:32
cve
cve
CVE
CVE-2025-8058
23 Jul 202519:57
cve
cve
CVE
CVE-2026-0861
14 Jan 202621:01
cve
cve
CVE
CVE-2026-0915
15 Jan 202622:08
cve
cve
CVE
CVE-2026-4046
30 Mar 202617:16
cve
cve
CVE
CVE-2026-5435
28 Apr 202611:58
cve
cve
CVE
CVE-2026-5450
20 Apr 202620:55
cve
cve
CVE
CVE-2026-5928
20 Apr 202620:37
cve
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

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

  script_cve_id(
    "CVE-2025-0395",
    "CVE-2025-4802",
    "CVE-2025-8058",
    "CVE-2025-15281",
    "CVE-2026-0861",
    "CVE-2026-0915",
    "CVE-2026-4046",
    "CVE-2026-5435",
    "CVE-2026-5450",
    "CVE-2026-5928",
    "CVE-2026-6238"
  );

  script_name(english:"EulerOS Virtualization 2.11.0 : glibc (EulerOS-SA-2026-3504)");

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

    When the assert() function in the GNU C Library versions 2.13 to 2.40 fails, it does not allocate enough
    space for the assertion failure message string and size information, which may lead to a buffer overflow
    if the message string size aligns to page size.(CVE-2025-0395)

    Untrusted LD_LIBRARY_PATH environment variable vulnerability in the GNU C Library version 2.27 to 2.38
    allows attacker controlled loading of dynamically shared library in statically compiled setuid binaries
    that call dlopen (including internal dlopen calls after setlocale or calls to NSS functions such as
    getaddrinfo).(CVE-2025-4802)

    The regcomp function in the GNU C library version from 2.4 to 2.41 is subject to a double free if some
    previous allocation fails. It can be accomplished either by a malloc failure or by using an interposed
    malloc that injects random malloc failures. The double free can allow buffer manipulation depending of how
    the regex is constructed. This issue affects all architectures and ABIs supported by the GNU C
    library.(CVE-2025-8058)

    Calling wordexp with WRDE_REUSE in conjunction with WRDE_APPEND in the GNU C Library version 2.0 to
    version 2.42 may cause the interface to return uninitialized memory in the we_wordv member, which on
    subsequent calls to wordfree may abort the process.(CVE-2025-15281)

    Passing too large an alignment to the memalign suite of functions (memalign, posix_memalign,
    aligned_alloc) in the GNU C Library version 2.30 to 2.42 may result in an integer overflow, which could
    consequently result in a heap corruption.Note that the attacker must have control over both, the size as
    well as the alignment arguments of the memalign function to be able to exploit this.  The size parameter
    must be close enough to PTRDIFF_MAX so as to overflow size_t along with the large alignment argument.
    This limits the malicious inputs for the alignment for memalign to the range [162+ 1, 163] and
    exactly 163 for posix_memalign and aligned_alloc.Typically the alignment argument passed to such
    functions is a known constrained quantity (e.g. page size, block size, struct sizes) and is not attacker
    controlled, because of which this may not be easily exploitable in practice.  An application bug could
    potentially result in the input alignment being too large, e.g. due to a different buffer overflow or
    integer overflow in the application or its dependent libraries, but that is again an uncommon usage
    pattern given typical sources of alignments.(CVE-2026-0861)

    Calling getnetbyaddr or getnetbyaddr_r with a configured nsswitch.conf that specifies the library's DNS
    backend for networks and queries for a zero-valued network in the GNU C Library version 2.0 to version
    2.42 can leak stack contents to the configured DNS resolver.(CVE-2026-0915)

    The iconv() function in the GNU C Library versions 2.43 and earlier may crash due to an assertion failure
    when converting inputs from the IBM1390 or IBM1399 character sets, which may be used to remotely crash an
    application.This vulnerability can be trivially mitigated by removing the IBM1390 and IBM1399 character
    sets from systems that do not need them.(CVE-2026-4046)

    Calling the scanf family of functions with a %mc (malloc'd character match) in the GNU C Library version
    2.7 to version 2.43 with a format width specifier with an explicit width greater than 1024 could result in
    a one byte heap buffer overflow.(CVE-2026-5450)

    Calling the ungetwc function on a FILE stream with wide characters encoded in a character set that has
    overlaps between its single byte and multi-byte character encodings, in the GNU C Library version 2.43 or
    earlier, may result in an attempt to read bytes before an allocated buffer, potentially resulting in
    unintentional disclosure of neighboring data in the heap, or a program crash.A bug in the wide character
    pushback implementation (_IO_wdefault_pbackfail in libio/wgenops.c) causes ungetwc() to operate on the
    regular character buffer (fp-_IO_read_ptr) instead of the actual wide-stream read pointer (fp-
    _wide_data-_IO_read_ptr). The program crash may happen in cases where fp-_IO_read_ptr is not
    initialized and hence points to NULL. The buffer under-read requires a special situation where the input
    character encoding is such that there are overlaps between single byte representations and multibyte
    representations in that encoding, resulting in spurious matches. The spurious match case is not possible
    in the standard Unicode character sets.(CVE-2026-5928)

    The deprecated functions ns_printrrf, ns_printrr and fp_nquery in the GNU C Library version 2.2 and newer
    fail to validate the RDATA content against the RDATA length in a DNS response when processing LOC, CERT,
    TKEY or TSIG records, which may allow an attacker to craft a DNS response, causing a target application to
    crash or read uninitialized memory.These functions are for application debugging only and hence not in the
    path of code executed by the DNS resolver.  Further, they have been deprecated since version 2.34 and
    should not be used by any new applications.  Applications should consider porting away from these
    interfaces since they may be removed in future versions.(CVE-2026-6238)

    The deprecated functions ns_printrrf, ns_printrr and fp_nquery in the GNU C Library version 2.2 and newer
    fail to enforce the caller-supplied buffer length, and can result in an out-of-bounds write when printing
    TSIG records.(CVE-2026-5435)

Tenable has extracted the preceding description block directly from the EulerOS Virtualization glibc 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-3504
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?9e25481f");
  script_set_attribute(attribute:"solution", value:
"Update the affected glibc packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/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:N/AC:L/PR:N/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:"cvss_score_source", value:"CVE-2026-5450");

  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:"2023/12/12");
  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:glibc");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:glibc-all-langpacks");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:glibc-common");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:glibc-locale-archive");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:glibc-locale-source");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libnsl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:nscd");
  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 = [
  "glibc-2.34-70.h104.eulerosv2r11",
  "glibc-all-langpacks-2.34-70.h104.eulerosv2r11",
  "glibc-common-2.34-70.h104.eulerosv2r11",
  "glibc-locale-archive-2.34-70.h104.eulerosv2r11",
  "glibc-locale-source-2.34-70.h104.eulerosv2r11",
  "libnsl-2.34-70.h104.eulerosv2r11",
  "nscd-2.34-70.h104.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_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, "glibc");
}

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.19.8
CVSS 45.9
EPSS0.00627
SSVC
3