AlmaLinux 9.6 [TuxCare] Security Update: openssl / openssl-devel / openssl-libs / openssl-perl Multiple Vulnerabilities (ALMALINUX9.6:CLSA-2026:1770667352)
10
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(351530);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/30");
script_cve_id(
"CVE-2025-15467",
"CVE-2025-15468",
"CVE-2025-68160",
"CVE-2025-69418",
"CVE-2025-69419",
"CVE-2025-69420",
"CVE-2025-69421",
"CVE-2026-22795",
"CVE-2026-22796"
);
script_xref(name:"CLSA", value:"2026:1770667352");
script_name(english:"AlmaLinux 9.6 [TuxCare] Security Update: openssl / openssl-devel / openssl-libs / openssl-perl Multiple Vulnerabilities (ALMALINUX9.6:CLSA-2026:1770667352)");
script_set_attribute(attribute:"synopsis", value:
"The AlmaLinux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The AlmaLinux 9.6 host has packages installed that are affected by multiple vulnerabilities as referenced in the TuxCare
ALMALINUX9.6:CLSA-2026:1770667352 advisory.
- Issue summary: Parsing CMS AuthEnvelopedData or EnvelopedData message with maliciously crafted AEAD
parameters can trigger a stack buffer overflow. Impact summary: A stack buffer overflow may lead to a
crash, causing Denial of Service, or potentially remote code execution. When parsing CMS
(Auth)EnvelopedData structures that use AEAD ciphers such as AES-GCM, the IV (Initialization Vector)
encoded in the ASN.1 parameters is copied into a fixed-size stack buffer without verifying that its length
fits the destination. An attacker can supply a crafted CMS message with an oversized IV, causing a stack-
based out-of-bounds write before any authentication or tag verification occurs. Applications and services
that parse untrusted CMS or PKCS#7 content using AEAD ciphers (e.g., S/MIME (Auth)EnvelopedData with AES-
GCM) are vulnerable. Because the overflow occurs prior to authentication, no valid key material is
required to trigger it. While exploitability to remote code execution depends on platform and toolchain
mitigations, the stack-based write primitive represents a severe risk. The FIPS modules in 3.6, 3.5, 3.4,
3.3 and 3.0 are not affected by this issue, as the CMS implementation is outside the OpenSSL FIPS module
boundary. OpenSSL 3.6, 3.5, 3.4, 3.3 and 3.0 are vulnerable to this issue. OpenSSL 1.1.1 and 1.0.2 are not
affected by this issue. (CVE-2025-15467)
- Issue summary: If an application using the SSL_CIPHER_find() function in a QUIC protocol client or server
receives an unknown cipher suite from the peer, a NULL dereference occurs. Impact summary: A NULL pointer
dereference leads to abnormal termination of the running process causing Denial of Service. Some
applications call SSL_CIPHER_find() from the client_hello_cb callback on the cipher ID received from the
peer. If this is done with an SSL object implementing the QUIC protocol, NULL pointer dereference will
happen if the examined cipher ID is unknown or unsupported. As it is not very common to call this function
in applications using the QUIC protocol and the worst outcome is Denial of Service, the issue was assessed
as Low severity. The vulnerable code was introduced in the 3.2 version with the addition of the QUIC
protocol support. The FIPS modules in 3.6, 3.5, 3.4 and 3.3 are not affected by this issue, as the QUIC
implementation is outside the OpenSSL FIPS module boundary. OpenSSL 3.6, 3.5, 3.4 and 3.3 are vulnerable
to this issue. OpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue. (CVE-2025-15468)
- Issue summary: Writing large, newline-free data into a BIO chain using the line-buffering filter where the
next BIO performs short writes can trigger a heap-based out-of-bounds write. Impact summary: This out-of-
bounds write can cause memory corruption which typically results in a crash, leading to Denial of Service
for an application. The line-buffering BIO filter (BIO_f_linebuffer) is not used by default in TLS/SSL
data paths. In OpenSSL command-line applications, it is typically only pushed onto stdout/stderr on VMS
systems. Third-party applications that explicitly use this filter with a BIO chain that can short-write
and that write large, newline-free data influenced by an attacker would be affected. However, the
circumstances where this could happen are unlikely to be under attacker control, and BIO_f_linebuffer is
unlikely to be handling non-curated data controlled by an attacker. For that reason the issue was assessed
as Low severity. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this issue, as the BIO
implementation is outside the OpenSSL FIPS module boundary. OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0, 1.1.1 and
1.0.2 are vulnerable to this issue. (CVE-2025-68160)
- Issue summary: When using the low-level OCB API directly with AES-NI or<br>other hardware-accelerated code
paths, inputs whose length is not a multiple<br>of 16 bytes can leave the final partial block unencrypted
and unauthenticated.<br><br>Impact summary: The trailing 1-15 bytes of a message may be exposed
in<br>cleartext on encryption and are not covered by the authentication tag,<br>allowing an attacker to
read or tamper with those bytes without detection.<br><br>The low-level OCB encrypt and decrypt routines
in the hardware-accelerated<br>stream path process full 16-byte blocks but do not advance the
input/output<br>pointers. The subsequent tail-handling code then operates on the original<br>base
pointers, effectively reprocessing the beginning of the buffer while<br>leaving the actual trailing bytes
unprocessed. The authentication checksum<br>also excludes the true tail bytes.<br><br>However, typical
OpenSSL consumers using EVP are not affected because the<br>higher-level EVP and provider OCB
implementations split inputs so that full<br>blocks and trailing partial blocks are processed in separate
calls, avoiding<br>the problematic code path. Additionally, TLS does not use OCB ciphersuites.<br>The
vulnerability only affects applications that call the low-level<br>CRYPTO_ocb128_encrypt() or
CRYPTO_ocb128_decrypt() functions directly with<br>non-block-aligned lengths in a single call on hardware-
accelerated builds.<br>For these reasons the issue was assessed as Low severity.<br><br>The FIPS modules
in 3.6, 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected<br>by this issue, as OCB mode is not a FIPS-
approved algorithm.<br><br>OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 and 1.1.1 are vulnerable to this
issue.<br><br>OpenSSL 1.0.2 is not affected by this issue. (CVE-2025-69418)
- Issue summary: Calling PKCS12_get_friendlyname() function on a maliciously crafted PKCS#12 file with a
BMPString (UTF-16BE) friendly name containing non-ASCII BMP code point can trigger a one byte write before
the allocated buffer. Impact summary: The out-of-bounds write can cause a memory corruption which can have
various consequences including a Denial of Service. The OPENSSL_uni2utf8() function performs a two-pass
conversion of a PKCS#12 BMPString (UTF-16BE) to UTF-8. In the second pass, when emitting UTF-8 bytes, the
helper function bmp_to_utf8() incorrectly forwards the remaining UTF-16 source byte count as the
destination buffer capacity to UTF8_putc(). For BMP code points above U+07FF, UTF-8 requires three bytes,
but the forwarded capacity can be just two bytes. UTF8_putc() then returns -1, and this negative value is
added to the output length without validation, causing the length to become negative. The subsequent
trailing NUL byte is then written at a negative offset, causing write outside of heap allocated buffer.
The vulnerability is reachable via the public PKCS12_get_friendlyname() API when parsing attacker-
controlled PKCS#12 files. While PKCS12_parse() uses a different code path that avoids this issue,
PKCS12_get_friendlyname() directly invokes the vulnerable function. Exploitation requires an attacker to
provide a malicious PKCS#12 file to be parsed by the application and the attacker can just trigger a one
zero byte write before the allocated buffer. For that reason the issue was assessed as Low severity
according to our Security Policy. The FIPS modules in 3.6, 3.5, 3.4, 3.3 and 3.0 are not affected by this
issue, as the PKCS#12 implementation is outside the OpenSSL FIPS module boundary. OpenSSL 3.6, 3.5, 3.4,
3.3, 3.0 and 1.1.1 are vulnerable to this issue. OpenSSL 1.0.2 is not affected by this issue.
(CVE-2025-69419)
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/tuxcare9.6esu/advisories/2026/clsa-2026_1770667352.json
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?40250f43");
script_set_attribute(attribute:"see_also", value:"https://cve.tuxcare.com/els/releases/CLSA-2026:1770667352");
script_set_attribute(attribute:"solution", value:
"Update the affected packages based on the guidance in TuxCare advisory ALMALINUX9.6:CLSA-2026:1770667352.");
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:"cvss_score_source", value:"CVE-2025-69421");
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:"Critical");
script_set_attribute(attribute:"vuln_publication_date", value:"2024/04/09");
script_set_attribute(attribute:"patch_publication_date", value:"2026/02/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/30");
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:"Alma Linux 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/AlmaLinux/release", "Host/AlmaLinux/rpm-list", "Host/cpu");
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) || 'AlmaLinux' >!< os_product) audit(AUDIT_OS_NOT, 'AlmaLinux');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'AlmaLinux');
if (! preg(pattern:"^9.6([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'AlmaLinux 9.6', 'AlmaLinux ' + os_version);
if (!get_kb_item('Host/AlmaLinux/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if (cpu !~ "^i[3-6]86$" && 'x86_64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'AlmaLinux', cpu);
var constraints = [
{
'release': '9',
'sp': '6',
'pkgs': [
{'reference':'openssl-3.2.2-6.el9_6.1.tuxcare.6.els5', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
{'reference':'openssl-devel-3.2.2-6.el9_6.1.tuxcare.6.els5', 'sp':'6', 'cpu':'i686', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
{'reference':'openssl-devel-3.2.2-6.el9_6.1.tuxcare.6.els5', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
{'reference':'openssl-libs-3.2.2-6.el9_6.1.tuxcare.6.els5', 'sp':'6', 'cpu':'i686', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
{'reference':'openssl-libs-3.2.2-6.el9_6.1.tuxcare.6.els5', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
{'reference':'openssl-perl-3.2.2-6.el9_6.1.tuxcare.6.els5', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'}
]
}
];
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, 'openssl / openssl-devel / openssl-libs / openssl-perl');
}
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
30 Sep 2026 00:00Current
6.9Medium risk
Vulners AI Score6.9
CVSS 3.17.5 - 9.8
EPSS0.52446
SSVC