CentOS Linux 8.4 [TuxCare] Security Update: pcs / pcs-snmp Multiple Vulnerabilities (CENTOS8.4:CLSA-2026:1790610331)
10
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(362172);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/01");
script_cve_id(
"CVE-2024-25126",
"CVE-2024-26141",
"CVE-2024-26146",
"CVE-2025-46727",
"CVE-2025-59830",
"CVE-2025-61770",
"CVE-2025-61771",
"CVE-2025-61772",
"CVE-2025-61919",
"CVE-2026-31958"
);
script_xref(name:"CLSA", value:"2026:1790610331");
script_name(english:"CentOS Linux 8.4 [TuxCare] Security Update: pcs / pcs-snmp Multiple Vulnerabilities (CENTOS8.4:CLSA-2026:1790610331)");
script_set_attribute(attribute:"synopsis", value:
"The CentOS Linux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The CentOS Linux 8.4 host has packages installed that are affected by multiple vulnerabilities as referenced in the
TuxCare CENTOS8.4:CLSA-2026:1790610331 advisory.
- Rack is a modular Ruby web server interface. Carefully crafted content type headers can cause Rack's media
type parser to take much longer than expected, leading to a possible denial of service vulnerability
(ReDos 2nd degree polynomial). This vulnerability is patched in 3.0.9.1 and 2.2.8.1. (CVE-2024-25126)
- Rack is a modular Ruby web server interface. Carefully crafted Range headers can cause a server to respond
with an unexpectedly large response. Responding with such large responses could lead to a denial of
service issue. Vulnerable applications will use the `Rack::File` middleware or the
`Rack::Utils.byte_ranges` methods (this includes Rails applications). The vulnerability is fixed in
3.0.9.1 and 2.2.8.1. (CVE-2024-26141)
- Rack is a modular Ruby web server interface. Carefully crafted headers can cause header parsing in Rack to
take longer than expected resulting in a possible denial of service issue. Accept and Forwarded headers
are impacted. Ruby 3.2 has mitigations for this problem, so Rack applications using Ruby 3.2 or newer are
unaffected. This vulnerability is fixed in 2.0.9.4, 2.1.4.4, 2.2.8.1, and 3.0.9.1. (CVE-2024-26146)
- Rack is a modular Ruby web server interface. Prior to version 2.2.18, Rack::QueryParser enforces its
params_limit only for parameters separated by &, while still splitting on both & and ;. As a result,
attackers could use ; separators to bypass the parameter count limit and submit more parameters than
intended. Applications or middleware that directly invoke Rack::QueryParser with its default configuration
(no explicit delimiter) could be exposed to increased CPU and memory consumption. This can be abused as a
limited denial-of-service vector. This issue has been patched in version 2.2.18. (CVE-2025-59830)
- Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2,
`Rack::Multipart::Parser` buffers the entire multipart preamble (bytes before the first boundary) in
memory without any size limit. A client can send a large preamble followed by a valid boundary, causing
significant memory use and potential process termination due to out-of-memory (OOM) conditions. Remote
attackers can trigger large transient memory spikes by including a long preamble in multipart/form-data
requests. The impact scales with allowed request sizes and concurrency, potentially causing worker crashes
or severe slowdown due to garbage collection. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a preamble size
limit (e.g., 16 KiB) or discard preamble data entirely. Workarounds include limiting total request body
size at the proxy or web server level and monitoring memory and set per-process limits to prevent OOM
conditions. (CVE-2025-61770)
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
# https://security.tuxcare.com/csaf/v2/els_os/centos8.4els/advisories/2026/clsa-2026_1790610331.json
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?085efba5");
script_set_attribute(attribute:"see_also", value:"https://cve.tuxcare.com/els/releases/CLSA-2026:1790610331");
script_set_attribute(attribute:"solution", value:
"Update the affected packages based on the guidance in TuxCare advisory CENTOS8.4:CLSA-2026:1790610331.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
script_set_cvss_temporal_vector("CVSS2#E:POC/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:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N");
script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:P");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-31958");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vendor_severity", value:"Important");
script_set_attribute(attribute:"vuln_publication_date", value:"2024/02/28");
script_set_attribute(attribute:"patch_publication_date", value:"2026/09/28");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/01");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"CentOS 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_info2.nasl");
script_require_keys("Host/OS/extended-third-party", "Host/local_checks_enabled", "Host/CentOS/release", "Host/CentOS/rpm-list");
exit(0);
}
include('rpm2.inc');
var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (empty_or_null(third_party_support) || third_party_support != 'TuxCare') exit(0, 'TuxCare support not enabled.');
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) || 'CentOS Linux' >!< os_product) audit(AUDIT_OS_NOT, 'CentOS Linux');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'CentOS Linux');
if (! preg(pattern:"^8.4([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'CentOS Linux 8.4', 'CentOS Linux ' + os_version);
if (!get_kb_item('Host/CentOS/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) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'CentOS Linux', cpu);
var constraints = [
{
'release': '8',
'sp': '4',
'pkgs': [
{'reference':'pcs-0.10.8-1.el8.tuxcare.els1', 'sp':'4', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'pcs-snmp-0.10.8-1.el8.tuxcare.els1', 'sp':'4', '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_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, 'pcs / pcs-snmp');
}
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
01 Oct 2026 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.17.5
CVSS 48.7
EPSS0.35376
SSVC