#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(297301);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/02/24");
script_cve_id(
"CVE-2025-4877",
"CVE-2025-4878",
"CVE-2025-5318",
"CVE-2025-5372",
"CVE-2025-8114",
"CVE-2025-8277"
);
script_xref(name:"IAVA", value:"2025-A-0462-S");
script_xref(name:"IAVA", value:"2025-A-0692-S");
script_name(english:"EulerOS Virtualization 2.10.1 : libssh (EulerOS-SA-2026-1127)");
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 libssh package installed, the EulerOS Virtualization installation on the remote host is
affected by the following vulnerabilities :
A flaw was found in the libssh library. An out-of-bounds read can be triggered in the sftp_handle function
due to an incorrect comparison check that permits the function to access memory beyond the valid handle
list and to return an invalid pointer, which is used in further processing. This vulnerability allows an
authenticated remote attacker to potentially read unintended memory regions, exposing sensitive
information or affect service behavior.(CVE-2025-5318)
There's a vulnerability in the libssh package where when a libssh consumer passes in an unexpectedly large
input buffer to ssh_get_fingerprint_hash() function. In such cases the bin_to_base64() function can
experience an integer overflow leading to a memory under allocation, when that happens it's possible that
the program perform out of bounds write leading to a heap corruption.
This issue affects only 32-bits builds of libssh.(CVE-2025-4877)
A vulnerability was found in libssh, where an uninitialized variable exists under certain conditions in
the privatekey_from_file() function. This flaw can be triggered if the file specified by the filename
doesn't exist and may lead to possible signing failures or heap corruption.(CVE-2025-4878)
A flaw was found in libssh versions built with OpenSSL versions older than 3.0, specifically in the
ssh_kdf() function responsible for key derivation. Due to inconsistent interpretation of return values
where OpenSSL uses 0 to indicate failure and libssh uses 0 for successthe function may mistakenly
return a success status even when key derivation fails. This results in uninitialized cryptographic key
buffers being used in subsequent communication, potentially compromising SSH sessions' confidentiality,
integrity, and availability.(CVE-2025-5372)
A flaw was found in libssh, a library that implements the SSH protocol. When calculating the session ID
during the key exchange (KEX) process, an allocation failure in cryptographic functions may lead to a NULL
pointer dereference. This issue can cause the client or server to crash.(CVE-2025-8114)
A flaw was found in libssh's handling of key exchange (KEX) processes when a client repeatedly sends
incorrect KEX guesses. The library fails to free memory during these rekey operations, which can gradually
exhaust system memory. This issue can lead to crashes on the client side, particularly when using
libgcrypt, which impacts application stability and availability.(CVE-2025-8277)
Tenable has extracted the preceding description block directly from the EulerOS Virtualization libssh 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-1127
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c42d21f4");
script_set_attribute(attribute:"solution", value:
"Update the affected libssh packages.");
script_set_cvss_base_vector("CVSS2#AV:N/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:N/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:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_supplemental", value:"CVSS:4.0/U:Clear");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-5372");
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/06/24");
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:libssh");
script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:2.10.1");
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.10.1") audit(AUDIT_OS_NOT, "EulerOS Virtualization 2.10.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);
if ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu);
var flag = 0;
var pkgs = [
"libssh-0.9.4-3.h19.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_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, "libssh");
}
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