#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(323147);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/06/27");
script_cve_id(
"CVE-2026-28387",
"CVE-2026-28388",
"CVE-2026-28389",
"CVE-2026-28390",
"CVE-2026-31789",
"CVE-2026-31790"
);
script_name(english:"EulerOS 2.0 SP15 : openssl (EulerOS-SA-2026-2497)");
script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS host is missing multiple security updates.");
script_set_attribute(attribute:"description", value:
"According to the versions of the openssl packages installed, the EulerOS installation on the remote host is affected by
the following vulnerabilities :
Issue summary: Applications using RSASVE key encapsulation to establish_x000D_
a secret encryption key can send contents of an uninitialized memory buffer to_x000D_
a malicious peer._x000D_
_x000D_
Impact summary: The uninitialized buffer might contain sensitive data from the_x000D_
previous execution of the application process which leads to sensitive data_x000D_
leakage to an attacker._x000D_
_x000D_
RSA_public_encrypt() returns the number of bytes written on success and -1_x000D_
on error. The affected code tests only whether the return value is non-zero._x000D_
As a result, if RSA encryption fails, encapsulation can still return success to_x000D_
the caller, set the output lengths, and leave the caller to use the contents of_x000D_
the ciphertext buffer as if a valid KEM ciphertext had been produced._x000D_
_x000D_
If applications use EVP_PKEY_encapsulate() with RSA/RSASVE on an_x000D_
attacker-supplied invalid RSA public key without first validating that key,_x000D_
then this may cause stale or uninitialized contents of the caller-provided_x000D_
ciphertext buffer to be disclosed to the attacker in place of the KEM_x000D_
ciphertext._x000D_
_x000D_
As a workaround calling EVP_PKEY_public_check() or_x000D_
EVP_PKEY_public_check_quick() before EVP_PKEY_encapsulate() will mitigate_x000D_
the issue._x000D_
_x000D_
The FIPS modules in 3.6, 3.5, 3.4, 3.3, 3.1 and 3.0 are affected by this issue.(CVE-2026-31790)
Issue summary: An uncommon configuration of clients performing DANE TLSA-based_x000D_
server authentication, when paired with uncommon server DANE TLSA records, may_x000D_
result in a use-after-free and/or double-free on the client side._x000D_
_x000D_
Impact summary: A use after free can have a range of potential consequences_x000D_
such as the corruption of valid data, crashes or execution of arbitrary code._x000D_
_x000D_
However, the issue only affects clients that make use of TLSA records with both_x000D_
the PKIX-TA(0/PKIX-EE(1) certificate usages and the DANE-TA(2) certificate_x000D_
usage._x000D_
_x000D_
By far the most common deployment of DANE is in SMTP MTAs for which RFC7672_x000D_
recommends that clients treat as 'unusable' any TLSA records that have the PKIX_x000D_
certificate usages. These SMTP (or other similar) clients are not vulnerable_x000D_
to this issue. Conversely, any clients that support only the PKIX usages, and_x000D_
ignore the DANE-TA(2) usage are also not vulnerable._x000D_
_x000D_
The client would also need to be communicating with a server that publishes a_x000D_
TLSA RRset with both types of TLSA records._x000D_
_x000D_
No FIPS modules are affected by this issue, the problem code is outside the_x000D_
FIPS module boundary.(CVE-2026-28387)
Issue summary: When a delta CRL that contains a Delta CRL Indicator extension_x000D_
is processed a NULL pointer dereference might happen if the required CRL_x000D_
Number extension is missing._x000D_
_x000D_
Impact summary: A NULL pointer dereference can trigger a crash which_x000D_
leads to a Denial of Service for an application._x000D_
_x000D_
When CRL processing and delta CRL processing is enabled during X.509_x000D_
certificate verification, the delta CRL processing does not check_x000D_
whether the CRL Number extension is NULL before dereferencing it._x000D_
When a malformed delta CRL file is being processed, this parameter_x000D_
can be NULL, causing a NULL pointer dereference._x000D_
_x000D_
Exploiting this issue requires the X509_V_FLAG_USE_DELTAS flag to be enabled in_x000D_
the verification context, the certificate being verified to contain a_x000D_
freshestCRL extension or the base CRL to have the EXFLAG_FRESHEST flag set, and_x000D_
an attacker to provide a malformed CRL to an application that processes it._x000D_
_x000D_
The vulnerability is limited to Denial of Service and cannot be escalated to_x000D_
achieve code execution or memory disclosure. For that reason the issue was_x000D_
assessed as Low severity according to our Security Policy._x000D_
_x000D_
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue,_x000D_
as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-28388)
Issue summary: Converting an excessively large OCTET STRING value to_x000D_
a hexadecimal string leads to a heap buffer overflow on 32 bit platforms._x000D_
_x000D_
Impact summary: A heap buffer overflow may lead to a crash or possibly_x000D_
an attacker controlled code execution or other undefined behavior._x000D_
_x000D_
If an attacker can supply a crafted X.509 certificate with an excessively_x000D_
large OCTET STRING value in extensions such as the Subject Key Identifier_x000D_
(SKID) or Authority Key Identifier (AKID) which are being converted to hex,_x000D_
the size of the buffer needed for the result is calculated as multiplication_x000D_
of the input length by 3. On 32 bit platforms, this multiplication may overflow_x000D_
resulting in the allocation of a smaller buffer and a heap buffer overflow._x000D_
_x000D_
Applications and services that print or log contents of untrusted X.509_x000D_
certificates are vulnerable to this issue. As the certificates would have_x000D_
to have sizes of over 1 Gigabyte, printing or logging such certificates_x000D_
is a fairly unlikely operation and only 32 bit platforms are affected,_x000D_
this issue was assigned Low severity._x000D_
_x000D_
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this_x000D_
issue, as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-31789)
Issue summary: During processing of a crafted CMS EnvelopedData message_x000D_
with KeyAgreeRecipientInfo a NULL pointer dereference can happen._x000D_
_x000D_
Impact summary: Applications that process attacker-controlled CMS data may_x000D_
crash before authentication or cryptographic operations occur resulting in_x000D_
Denial of Service._x000D_
_x000D_
When a CMS EnvelopedData message that uses KeyAgreeRecipientInfo is_x000D_
processed, the optional parameters field of KeyEncryptionAlgorithmIdentifier_x000D_
is examined without checking for its presence. This results in a NULL_x000D_
pointer dereference if the field is missing._x000D_
_x000D_
Applications and services that call CMS_decrypt() on untrusted input_x000D_
(e.g., S/MIME processing or CMS-based protocols) are vulnerable._x000D_
_x000D_
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this_x000D_
issue, as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-28389)
Issue summary: During processing of a crafted CMS EnvelopedData message_x000D_
with KeyTransportRecipientInfo a NULL pointer dereference can happen._x000D_
_x000D_
Impact summary: Applications that process attacker-controlled CMS data may_x000D_
crash before authentication or cryptographic operations occur resulting in_x000D_
Denial of Service._x000D_
_x000D_
When a CMS EnvelopedData message that uses KeyTransportRecipientInfo with_x000D_
RSA-OAEP encryption is processed, the optional parameters field of_x000D_
RSA-OAEP SourceFunc algorithm identifier is examined without checking_x000D_
for its presence. This results in a NULL pointer dereference if the field_x000D_
is missing._x000D_
_x000D_
Applications and services that call CMS_decrypt() on untrusted input_x000D_
(e.g., S/MIME processing or CMS-based protocols) are vulnerable._x000D_
_x000D_
The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this_x000D_
issue, as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-28390)
Tenable has extracted the preceding description block directly from the EulerOS openssl 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-2497
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?e8f22943");
script_set_attribute(attribute:"solution", value:
"Update the affected openssl 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:U/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:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-31789");
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:"2024/04/09");
script_set_attribute(attribute:"patch_publication_date", value:"2026/06/26");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/06/27");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:openssl");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:openssl-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:openssl-help");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:openssl-libs");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:openssl-perl");
script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.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/sp");
script_exclude_keys("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 (_release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP15");
var sp = get_kb_item("Host/EulerOS/sp");
if (isnull(sp) || sp !~ "^(15)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP15");
if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP15", "EulerOS UVP " + uvp);
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 = [
"openssl-3.0.12-15.h21510.21.eulerosv2r15",
"openssl-devel-3.0.12-15.h21510.21.eulerosv2r15",
"openssl-help-3.0.12-15.h21510.21.eulerosv2r15",
"openssl-libs-3.0.12-15.h21510.21.eulerosv2r15",
"openssl-perl-3.0.12-15.h21510.21.eulerosv2r15"
];
foreach (var pkg in pkgs)
if (rpm_check(release:"EulerOS-2.0", sp:"15", 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, "openssl");
}
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