EulerOS Virtualization 2.11.0 : glibc (EulerOS-SA-2026-3504)
| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| CVE-2025-0395 | 22 Jan 202513:11 | – | cve | |
| CVE-2025-15281 | 20 Jan 202613:22 | – | cve | |
| CVE-2025-4802 | 16 May 202519:32 | – | cve | |
| CVE-2025-8058 | 23 Jul 202519:57 | – | cve | |
| CVE-2026-0861 | 14 Jan 202621:01 | – | cve | |
| CVE-2026-0915 | 15 Jan 202622:08 | – | cve | |
| CVE-2026-4046 | 30 Mar 202617:16 | – | cve | |
| CVE-2026-5435 | 28 Apr 202611:58 | – | cve | |
| CVE-2026-5450 | 20 Apr 202620:55 | – | cve | |
| CVE-2026-5928 | 20 Apr 202620:37 | – | cve |
10
10
#%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