Lucene search
K

EulerOS 2.0 SP15 : openssl (EulerOS-SA-2026-2497)

🗓️ 27 Jun 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 6 Views

OpenSSL RSA key encapsulation may leak uninitialized memory and misreport success; DANE TLSA may cause use after free; FIPS modules affected.

Related
Refs
Code
#%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

27 Jun 2026 00:00Current
7.9High risk
Vulners AI Score7.9
CVSS 3.18.1 - 9.8
EPSS0.00981
SSVC
6