Lucene search
+L

NewStart CGSL MAIN 7.02 : ruby Multiple Vulnerabilities (NS-SA-2025-0116)

🗓️ 25 Jul 2025 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 3 Views

NewStart CGSL MAIN 7.02 has ruby vulnerabilities including ReDoS and RDoc remote code execution risks.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from ZTE advisory NS-SA-2025-0116. The text
# itself is copyright (C) ZTE, Inc.
##

include('compat.inc');

if (description)
{
  script_id(242836);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2025/07/25");

  script_cve_id("CVE-2023-36617", "CVE-2024-27281");
  script_xref(name:"IAVA", value:"2024-A-0328");

  script_name(english:"NewStart CGSL MAIN 7.02 : ruby Multiple Vulnerabilities (NS-SA-2025-0116)");

  script_set_attribute(attribute:"synopsis", value:
"The remote NewStart CGSL host is affected by multiple vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The remote NewStart CGSL host, running version MAIN 7.02, has ruby packages installed that are affected by multiple
vulnerabilities:

  - A ReDoS issue was discovered in the URI component before 0.12.2 for Ruby. The URI parser mishandles
    invalid URLs that have specific characters. There is an increase in execution time for parsing strings to
    URI objects with rfc2396_parser.rb and rfc3986_parser.rb. NOTE: this issue exists becuse of an incomplete
    fix for CVE-2023-28755. Version 0.10.3 is also a fixed version. (CVE-2023-36617)

  - An issue was discovered in RDoc 6.3.3 through 6.6.2, as distributed in Ruby 3.x through 3.3.0. When
    parsing .rdoc_options (used for configuration in RDoc) as a YAML file, object injection and resultant
    remote code execution are possible because there are no restrictions on the classes that can be restored.
    (When loading the documentation cache, object injection and resultant remote code execution are also
    possible if there were a crafted cache.) The main fixed version is 6.6.3.1. For Ruby 3.0 users, a fixed
    version is rdoc 6.3.4.1. For Ruby 3.1 users, a fixed version is rdoc 6.4.1.1. For Ruby 3.2 users, a fixed
    version is rdoc 6.5.1.1. (CVE-2024-27281)

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://security.gd-linux.com/notice/NS-SA-2025-0116");
  script_set_attribute(attribute:"see_also", value:"https://security.gd-linux.com/info/CVE-2023-36617");
  script_set_attribute(attribute:"see_also", value:"https://security.gd-linux.com/info/CVE-2024-27281");
  script_set_attribute(attribute:"solution", value:
"Upgrade the vulnerable CGSL ruby packages. Note that updated packages may not be available yet. Please contact ZTE for
more information.");
  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:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2023-36617");
  script_set_attribute(attribute:"cvss4_score_source", value:"CVE-2024-27281");

  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:"2023/06/29");
  script_set_attribute(attribute:"patch_publication_date", value:"2025/07/25");
  script_set_attribute(attribute:"plugin_publication_date", value:"2025/07/25");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:ruby");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:ruby-default-gems");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:ruby-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygem-bigdecimal");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygem-bundler");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygem-io-console");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygem-irb");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygem-psych");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygem-rdoc");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:zte:cgsl_main:rubygems");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:zte:cgsl_main:7");
  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:"NewStart CGSL 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/ZTE-CGSL/release", "Host/ZTE-CGSL/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_release = get_kb_item('Host/ZTE-CGSL/release');
if (isnull(os_release) || os_release !~ "^CGSL (MAIN|CORE)") audit(AUDIT_OS_NOT, 'NewStart Carrier Grade Server Linux');

if (os_release !~ "CGSL\sMAIN\s7\.02")
  audit(AUDIT_OS_NOT, 'NewStart CGSL MAIN 7.02');

if (!get_kb_item('Host/ZTE-CGSL/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$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'NewStart Carrier Grade Server Linux', cpu);

var flag = 0;

var pkgs = {
  'CGSL MAIN 7.02': [
    'ruby-3.1.4-9.zncgsl7.4',
    'ruby-default-gems-3.1.4-9.zncgsl7.4',
    'ruby-libs-3.1.4-9.zncgsl7.4',
    'rubygem-bigdecimal-3.1.1-9.zncgsl7.4',
    'rubygem-bundler-2.3.26-9.zncgsl7.4',
    'rubygem-io-console-0.5.11-9.zncgsl7.4',
    'rubygem-irb-1.4.1-9.zncgsl7.4',
    'rubygem-psych-4.0.4-9.zncgsl7.4',
    'rubygem-rdoc-6.4.0-9.zncgsl7.4',
    'rubygems-3.3.26-9.zncgsl7.4'
  ]
};
var pkg_list = pkgs[os_release];
var pkg;
foreach (pkg in pkg_list)
  if (rpm_check(reference:pkg, release:'ZTE ' + os_release, rpm_spec_vers_cmp:TRUE)) 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, 'ruby');
}

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

25 Jul 2025 00:00Current
8.4High risk
Vulners AI Score8.4
CVSS 3.15.3
EPSS0.02637
SSVC
3