Lucene search
K

TencentOS Server 3: openssl (TSSA-2023:0325)

🗓️ 16 Jun 2025 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

TencentOS Server 3 is vulnerable to multiple issues in OpenSSL prior to tested versions, requiring updates.

Related
Refs
Code
ReporterTitlePublishedViews
Family
IBM Security Bulletins
Security Bulletin: IBM MQ Operator and Queue manager container images are vulnerable to multiple vulnerabilities from go-yaml, OpenSSL, GnuTLS , OpenTelemetry-Go, go-toolset and urllib3
30 Jan 202408:15
ibm
IBM Security Bulletins
Security Bulletin: Multiple vulnerabilities in OpenSSL affects IBM DevOps Code ClearCase
15 Jul 202413:22
ibm
IBM Security Bulletins
Security Bulletin: Multiple Security Vulnerabilities were identified in IBM Security Verify Access.
17 Jan 202415:16
ibm
IBM Security Bulletins
Security Bulletin: Vulnerability in FOS firmware used by IBM b-type SAN directors and switches.
1 May 202420:47
ibm
IBM Security Bulletins
Security Bulletin: IBM Rational Build Forge 8.0.0.25 addresses multiple vulnerabilities
24 Nov 202313:49
ibm
IBM Security Bulletins
Security Bulletin: Multiple Vulnerabilities in Open Source affect Cloud Pak System
28 Oct 202417:07
ibm
IBM Security Bulletins
Security Bulletin: Multiple vulnerabilities have been identified with the DS8900F and DS8A00 Hardware Management Console (HMC)
27 May 202523:25
ibm
IBM Security Bulletins
Security Bulletin: IBM Rational® Application Developer for WebSphere® Software is vulnerable to a denial of service
13 May 202423:54
ibm
IBM Security Bulletins
Security Bulletin: IBM App Connect Enterprise is vulnerable to a denial of service due to OpenSSL. (CVE-2023-3446)
12 Dec 202309:08
ibm
IBM Security Bulletins
Security Bulletin: IBM Master Data Management is vulnerable to a denial of service from a flaw in DH keys or parameters in OpenSSL (CVE-2023-3817)
25 Oct 202420:59
ibm
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Tencent Linux Security Advisory TSSA-2023:0325.
##

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(239180);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2025/11/20");

  script_cve_id("CVE-2023-3446", "CVE-2023-3817", "CVE-2023-5678");

  script_name(english:"TencentOS Server 3: openssl (TSSA-2023:0325)");

  script_set_attribute(attribute:"synopsis", value:
"The remote TencentOS Server 3 host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The version of Tencent Linux installed on the remote TencentOS Server 3 host is prior to tested version. It is,
therefore, affected by multiple vulnerabilities as referenced in the TSSA-2023:0325 advisory.

    Package updates are available for TencentOS Server 3 that fix the following vulnerabilities:

      CVE-2023-3446:
      Issue summary: Checking excessively long DH keys or parameters may be very slow.

      Impact summary: Applications that use the functions DH_check(), DH_check_ex()
      or EVP_PKEY_param_check() to check a DH key or DH parameters may experience long
      delays. Where the key or parameters that are being checked have been obtained
      from an untrusted source this may lead to a Denial of Service.

      The function DH_check() performs various checks on DH parameters. One of those
      checks confirms that the modulus ('p' parameter) is not too large. Trying to use
      a very large modulus is slow and OpenSSL will not normally use a modulus which
      is over 10,000 bits in length.

      However the DH_check() function checks numerous aspects of the key or parameters
      that have been supplied. Some of those checks use the supplied modulus value
      even if it has already been found to be too large.

      An application that calls DH_check() and supplies a key or parameters obtained
      from an untrusted source could be vulernable to a Denial of Service attack.

      The function DH_check() is itself called by a number of other OpenSSL functions.
      An application calling any of those other functions may similarly be affected.
      The other functions affected by this are DH_check_ex() and
      EVP_PKEY_param_check().

      Also vulnerable are the OpenSSL dhparam and pkeyparam command line applications
      when using the '-check' option.

      The OpenSSL SSL/TLS implementation is not affected by this issue.
      The OpenSSL 3.0 and 3.1 FIPS providers are not affected by this issue.

      CVE-2023-3817:
      Issue summary: Checking excessively long DH keys or parameters may be very slow.

      Impact summary: Applications that use the functions DH_check(), DH_check_ex()
      or EVP_PKEY_param_check() to check a DH key or DH parameters may experience long
      delays. Where the key or parameters that are being checked have been obtained
      from an untrusted source this may lead to a Denial of Service.

      The function DH_check() performs various checks on DH parameters. After fixing
      CVE-2023-3446 it was discovered that a large q parameter value can also trigger
      an overly long computation during some of these checks. A correct q value,
      if present, cannot be larger than the modulus p parameter, thus it is
      unnecessary to perform these checks if q is larger than p.

      An application that calls DH_check() and supplies a key or parameters obtained
      from an untrusted source could be vulnerable to a Denial of Service attack.

      The function DH_check() is itself called by a number of other OpenSSL functions.
      An application calling any of those other functions may similarly be affected.
      The other functions affected by this are DH_check_ex() and
      EVP_PKEY_param_check().

      Also vulnerable are the OpenSSL dhparam and pkeyparam command line applications
      when using the -check option.

      The OpenSSL SSL/TLS implementation is not affected by this issue.

      The OpenSSL 3.0 and 3.1 FIPS providers are not affected by this issue.

      CVE-2023-5678:
      Issue summary: Generating excessively long X9.42 DH keys or checking
      excessively long X9.42 DH keys or parameters may be very slow.

      Impact summary: Applications that use the functions DH_generate_key() to
      generate an X9.42 DH key may experience long delays. Likewise, applications
      that use DH_check_pub_key(), DH_check_pub_key_ex() or EVP_PKEY_public_check()
      to check an X9.42 DH key or X9.42 DH parameters may experience long delays.
      Where the key or parameters that are being checked have been obtained from
      an untrusted source this may lead to a Denial of Service.

      While DH_check() performs all the necessary checks (as of CVE-2023-3817),
      DH_check_pub_key() doesn't make any of these checks, and is therefore
      vulnerable for excessively large P and Q parameters.

      Likewise, while DH_generate_key() performs a check for an excessively large
      P, it doesn't check for an excessively large Q.

      An application that calls DH_generate_key() or DH_check_pub_key() and
      supplies a key or parameters obtained from an untrusted source could be
      vulnerable to a Denial of Service attack.

      DH_generate_key() and DH_check_pub_key() are also called by a number of
      other OpenSSL functions. An application calling any of those other
      functions may similarly be affected. The other functions affected by this
      are DH_check_pub_key_ex(), EVP_PKEY_public_check(), and EVP_PKEY_generate().

      Also vulnerable are the OpenSSL pkey command line application when using the
      -pubcheck option, as well as the OpenSSL genpkey command line application.

      The OpenSSL SSL/TLS implementation is not affected by this issue.

      The OpenSSL 3.0 and 3.1 FIPS providers are not affected by this issue.

Tenable has extracted the preceding description block directly from the Tencent Linux security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://mirrors.tencent.com/tlinux/errata/tssa-20230325.xml");
  script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  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:N/I:N/A:L");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2023-5678");

  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/01/19");
  script_set_attribute(attribute:"patch_publication_date", value:"2024/01/19");
  script_set_attribute(attribute:"plugin_publication_date", value:"2025/06/16");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:tencent:tencentos_server:3");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:tencent:tencentos_server:openssl");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Tencent Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2025 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info2.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/etc/os-release", "Host/TencentOS/rpm-list", "Host/cpu");

  exit(0);
}


include('rpm2.inc');

if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_product = get_kb_item('installed_os/local/SSH/0/product');
if (isnull(os_product) || 'TencentOS' >!< os_product) audit(AUDIT_OS_NOT, 'TencentOS');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'TencentOS');
if (! preg(pattern:"^3([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'TencentOS 3.x', 'TencentOS ' + os_version);

if (!get_kb_item('Host/TencentOS/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$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'TencentOS', cpu);

var constraints = [
  {
    'release': '3',
    'pkgs': [
      {'reference':'openssl-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-debuginfo-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-debuginfo-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-debugsource-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-debugsource-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-devel-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-devel-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-libs-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-libs-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-libs-debuginfo-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-libs-debuginfo-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-perl-1.1.1k-12.tl3', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'openssl-perl-1.1.1k-12.tl3', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE}
    ]
  }
];

var os_release = get_one_kb_item('installed_os/local/SSH/0/release');
var os_sp = get_one_kb_item('Host/*/minor_release');

var flag = 0;
var reference;
var sp;
var _cpu;
var el_string;
var rpm_spec_vers_cmp;
var epoch;
var allowmaj;
var exists_check;
var cves;
foreach var constraint ( constraints ) {
  # Check that the target release is equal to the affected release
  if (!empty_or_null(constraint['release'])){
    if (constraint['release'] != os_release) continue;
  }
  if (!empty_or_null(constraint['sp'])){
    if (constraint['sp'] != os_sp) continue;
  }
  foreach var pkg ( constraint['pkgs'] ) {
    reference = NULL;
    sp = NULL;
    _cpu = NULL;
    el_string = NULL;
    rpm_spec_vers_cmp = NULL;
    epoch = NULL;
    allowmaj = NULL;
    exists_check = NULL;
    cves = NULL;
    if (!empty_or_null(pkg['reference'])) reference = pkg['reference'];
    if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
    if (!empty_or_null(pkg['cpu'])) _cpu = pkg['cpu'];
    if (!empty_or_null(pkg['el_string'])) el_string = pkg['el_string'];
    if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
    if (!empty_or_null(pkg['epoch'])) epoch = pkg['epoch'];
    if (!empty_or_null(pkg['allowmaj'])) allowmaj = pkg['allowmaj'];
    if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
    if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
    if (reference &&
        ## (no known rpm to check OR known rpm_exists)
        (!exists_check || rpm_exists(rpm:exists_check)) &&
        rpm_check(sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
  }
}

if (flag)
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      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 / openssl-debuginfo / openssl-debugsource / etc');
}

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

20 Nov 2025 00:00Current
6.6Medium risk
Vulners AI Score6.6
CVSS 3.15.3
EPSS0.01027
SSVC
2