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

critical Nessus Plugin ID 346784

Synopsis

The remote EulerOS host is missing multiple security updates.

Description

According to the versions of the openssl packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities :

Issue summary: A signed integer overflow when sizing the destination_x000D_ buffer for Unicode output in ASN1_mbstring_ncopy() can lead to a heap_x000D_ buffer overflow._x000D_
_x000D_ Impact summary: A heap buffer overflow may lead to a crash or possibly_x000D_ attacker controlled code execution or other undefined behaviour._x000D_
_x000D_ In ASN1_mbstring_copy() and ASN1_mbstring_ncopy() the destination_x000D_ size for Unicode output is computed in a signed int: by left shift_x000D_ of the input character count for BMPSTRING (UTF-16) and_x000D_ UNIVERSALSTRING (UTF-32), and by summing per-character byte counts_x000D_ for UTF8STRING. The calculation overflows when the input reaches_x000D_ around 2^30 characters. In the worst case (UNIVERSALSTRING at 2^30_x000D_ characters) the size wraps to zero, OPENSSL_malloc(1) is called, and_x000D_ the subsequent character copy writes several gigabytes past the_x000D_ one-byte allocation._x000D_
_x000D_ X.509 certificate processing routes through ASN1_STRING_set_by_NID(),_x000D_ whose DIRSTRING_TYPE mask excludes UNIVERSALSTRING and whose per-NID_x000D_ size limits cap the input length; no network protocol or_x000D_ certificate-handling path in OpenSSL exercises the overflow._x000D_ Triggering the bug requires an application that calls_x000D_ ASN1_mbstring_copy() or ASN1_mbstring_ncopy() directly, or registers_x000D_ a custom string type via ASN1_STRING_TABLE_add(), with_x000D_ attacker-controlled input on the order of half a gigabyte or more._x000D_ For these reasons this issue was assigned Low severity._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4 and 3.0 are not affected by_x000D_ this issue, as the affected code is outside the OpenSSL FIPS module_x000D_ boundary.(CVE-2026-7383)

Issue summary: When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42) peer key, the peer key is not properly checked for the subgroup membership. Impact summary: A malicious peer which presents an X9.42 key carrying the victim's p and g parameters, a forged q = r (a small prime factor of the cofactor (p-1)/q_local), and a public value Y of order r can recover the victim's private key after a small number of key exchange attempts. When EVP_PKEY_derive_set_peer() is called with a DHX (X9.42) peer key, the subgroup membership check Y^q ? 1 (mod p) is performed using the peer's own q parameter, not the local key's q. The peer's domain parameters are then matched against the domain parameters of the private key, but the value of q is not compared. A malicious peer who presents an X9.42 key carrying the victim's p, g, a forged q = r (a small prime factor of the cofactor), and a public value Y of order r passes all checks.
The shared secret then takes only r distinct values, leaking priv mod r. Repeating for each small-prime factor of the cofactor and combining via CRT recovers the full private key (Lim-Lee / small-subgroup- confinement attack). The realistic attack surface is narrow: principally CMP deployments with long-lived RA/CA DHX keys and bespoke enterprise or government applications using X9.42 DHX static keys with interactive protocols and therefore this issue was assigned Low severity. The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are affected by this issue.(CVE-2026-42770)

Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap)_x000D_ processes attacker-supplied CMS data, an attacker-chosen stream-mode KEK_x000D_ cipher can trigger a heap out-of-bounds read in kek_unwrap_key()._x000D_
_x000D_ Impact summary: A heap buffer over-read may trigger a crash which leads to_x000D_ Denial of Service for an application if the input buffer ends at a memory_x000D_ page boundary and the following page is unmapped. There is no information_x000D_ disclosure as the over-read bytes are not revealed to the attacker._x000D_
_x000D_ The key unwrapping function performs a check-byte test as specified in the_x000D_ RFC that reads 7 bytes from a heap allocation that is based on the wrapped_x000D_ key length from the message. There is a minimum length check based on the_x000D_ block length of the wrapping cipher. However the cipher is selected from_x000D_ an OID carried in the attacker's PWRI keyEncryptionAlgorithm with no_x000D_ requirement that the cipher be a block cipher. When an attacker selects_x000D_ a stream-mode cipher the guard will be ineffective and the allocated buffer_x000D_ containing the unwrapped key can be too small to fit the check-bytes_x000D_ specified in the RFC and a buffer over-read can happen._x000D_
_x000D_ Applications calling CMS_decrypt() or CMS_decrypt_set1_password()_x000D_ (equivalently openssl cms -decrypt -pwri_password ...) on untrusted CMS_x000D_ data are vulnerable to this issue. No password knowledge is required: the_x000D_ over-read happens during the unwrap attempt before any authentication_x000D_ succeeds._x000D_
_x000D_ The over-read is limited to a few bytes and is not written to output, so_x000D_ there is no information disclosure. Triggering a crash requires the_x000D_ allocation to border unmapped memory, which is unlikely with the normal_x000D_ allocator._x000D_
_x000D_ The FIPS modules are not affected by this issue.(CVE-2026-9076)

Issue summary: When an application drives an AES-OCB context through the_x000D_ public EVP_Cipher() one-shot interface, the application-supplied_x000D_ initialisation vector (IV) is silently discarded._x000D_
_x000D_ Impact summary: Every message encrypted under the same key uses the_x000D_ same effective nonce regardless of the IV supplied by the caller,_x000D_ resulting in (key, nonce) reuse and loss of confidentiality. If the_x000D_ same code path is used to compute the authentication tag, the tag_x000D_ depends only on the (key, IV) pair and not on the plaintext or_x000D_ ciphertext, allowing universal forgery of arbitrary ciphertext from a_x000D_ single captured message._x000D_
_x000D_ OpenSSL provides two ways to drive a cipher: the documented streaming_x000D_ interface (EVP_CipherUpdate / EVP_CipherFinal_ex) and a lower-level_x000D_ one-shot, EVP_Cipher(), whose documentation explicitly recommends_x000D_ against use by applications in favour of EVP_CipherUpdate() and_x000D_ EVP_CipherFinal_ex(). The OCB provider's streaming handler flushes_x000D_ the application-supplied IV into the OCB context before processing_x000D_ data; the one-shot handler did not. Every call to EVP_Cipher() on an_x000D_ AES-OCB context therefore ran with the all-zero key-derived offset_x000D_ state left by cipher initialisation, regardless of the caller's IV._x000D_
_x000D_ If EVP_EncryptFinal_ex() is subsequently used to obtain the_x000D_ authentication tag, the deferred IV setup runs at that point and_x000D_ clears the running checksum that should have been accumulated over the_x000D_ plaintext. The resulting tag is a function of (key, IV) only and_x000D_ verifies against any ciphertext produced under the same (key, IV)_x000D_ pair._x000D_
_x000D_ The OpenSSL SSL/TLS implementation is not affected: AES-OCB is not a_x000D_ TLS cipher suite, and libssl does not call EVP_Cipher() in any case._x000D_ Applications that drive AES-OCB through the documented streaming AEAD_x000D_ API (EVP_CipherUpdate / EVP_CipherFinal_ex) are not affected. Only_x000D_ applications that combine the AES-OCB cipher with the EVP_Cipher()_x000D_ one-shot API are vulnerable._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4 and 3.0 are not affected by_x000D_ this issue, as AES-OCB is outside the OpenSSL FIPS module boundary.(CVE-2026-45445)

Issue summary: An attacker-controlled CMP (Certificate Management Protocol)_x000D_ server could trigger a NULL pointer dereference in a CMP client application._x000D_
_x000D_ Impact summary: A NULL pointer dereference causes a crash of the_x000D_ application and a Denial of Service._x000D_
_x000D_ An attacker controlling a CMP server (or acting as a man-in-the-middle) could_x000D_ craft a CMP response containing a CRMF (Certificate Request Message Format)_x000D_ CertRepMessage with an EncryptedValue structure where the symmAlg field_x000D_ has an algorithm OID but no parameters field. When the OpenSSL CMP client_x000D_ processes this response, the NULL dereference occurs, causing a crash of_x000D_ the CMP client._x000D_
_x000D_ Applications that process untrusted CMP/CRMF messages may be affected._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this_x000D_ issue, as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-42767)

Issue summary: The implementations of AES-SIV (RFC 5297) and AES-GCM-SIV_x000D_ (RFC 8452) mishandle the authentication of AAD (Additional Authenticated_x000D_ Data) with an empty ciphertext allowing a forgery of such messages._x000D_
_x000D_ Impact summary: An attacker can forge empty messages with arbitrary AAD_x000D_ to the victim's application using these ciphers._x000D_
_x000D_ AES-SIV (RFC 5297) and AES-GCM-SIV (RFC 8452) are nonce-misuse-resistant AEAD_x000D_ modes: they accept a key, nonce, optional AAD (bytes that are authenticated_x000D_ but not encrypted), and plaintext, and produces ciphertext plus a 16-byte_x000D_ tag. On decrypt, `EVP_DecryptFinal_ex()` is documented to return success only_x000D_ if the tag is verified succesfully._x000D_
_x000D_ In OpenSSL's provider implementation of these ciphers, the expected tag is_x000D_ computed only when decryption function is invoked with non-empty data._x000D_ If the caller supplies AAD and then calls `EVP_DecryptFinal_ex()` without_x000D_ invocation of the ciphertext update, which can happen when the received_x000D_ ciphertext length is zero, the tag is never recalculated and still holds its_x000D_ all-zeros value._x000D_
_x000D_ When AES-GCM-SIV is used, an attacker who sends arbitrary AAD, empty_x000D_ ciphertext, and all-zeros tag passes authentication under any key they do not_x000D_ know, single-shot. When AES-SIV is used, for mounting the attack it's_x000D_ necessary for the application to reuse the decryption context without_x000D_ resetting the key._x000D_
_x000D_ AES-SIV is implemented since OpenSSL 3.0. AES-GCM-SIV is implemented since_x000D_ OpenSSL 3.2._x000D_
_x000D_ No protocols implemented in OpenSSL itself (TLS/CMS/PKCS7/HPKE/QUIC) support_x000D_ either AES-GCM-SIV or AES-SIV. To mount an attack, the applications must_x000D_ implement their own protocol and use the EVP interface. Also they must skip the_x000D_ ciphertext update when a message with an empty ciphertext arrives._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this_x000D_ issue, as these algorithms are not FIPS approved and the affected code is_x000D_ outside the OpenSSL FIPS module boundary.(CVE-2026-45446)

Issue summary: Parsing a crafted DER-encoded ASN.1 structure with a primitive_x000D_ element whose content exceeds 2 gigabytes in length may cause a heap buffer_x000D_ over-read on 64-bit Unix and Unix-like platforms._x000D_
_x000D_ Impact summary: The heap buffer over-read may crash the application (Denial of_x000D_ Service) or to load into the decoded ASN.1 object contents of memory beyond the_x000D_ end of the input buffer. More typically such ASN.1 elements would instead be_x000D_ truncated._x000D_
_x000D_ An integer truncation in OpenSSL's ASN.1 decoder causes the content length of_x000D_ an ASN.1 primitive element to be mishandled when it exceeds 2 gigabytes. In the_x000D_ worst case the truncated length is treated as a request to scan the binary_x000D_ content for a terminating zero byte, possibly causing OpenSSL to read either_x000D_ less than or beyond the end of the allocated buffer._x000D_
_x000D_ Applications that pass attacker-supplied data to d2i_X509(), d2i_PKCS7(), or_x000D_ any other d2i_* decoding function are affected. OpenSSL's own command-line_x000D_ tools are not vulnerable, as data read through the BIO layer is checked before_x000D_ it reaches the affected code. The issue only affects 64-bit Unix and Unix-like_x000D_ platforms; 32-bit platforms and 64-bit Windows are not affected._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4 and 3.0 are not affected by this issue,_x000D_ as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-34180)

Issue summary: A specially crafted password-encrypted CMS message_x000D_ can trigger a NULL pointer dereference during CMS decryption._x000D_
_x000D_ Impact summary: This NULL pointer dereference leads to an application crash_x000D_ and a Denial of Service._x000D_
_x000D_ The CMS PasswordRecipientInfo.keyDerivationAlgorithm field is defined as_x000D_ OPTIONAL in the ASN.1 specification and may therefore be absent in specially_x000D_ crafted inputs. During the password-based CMS decryption the OpenSSL_x000D_ CMS implementation dereferences this field without first checking whether it_x000D_ was present._x000D_
_x000D_ An attacker who supplies such a CMS message to an application performing_x000D_ password-based CMS decryption can trigger an application crash, leading to_x000D_ a Denial of Service._x000D_
_x000D_ Applications that process password-encrypted CMS messages may be affected._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this_x000D_ issue, as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-42766)

Issue summary: A specially crafted PKCS#7 or S/MIME signed message could_x000D_ trigger a use-after-free during PKCS#7 signature verification._x000D_
_x000D_ Impact summary: A use-after-free may result in process crashes, heap_x000D_ corruption, or potentially remote code execution._x000D_
_x000D_ When processing a PKCS#7 or S/MIME signed message, if the SignedData_x000D_ digestAlgorithms field is present as an empty ASN.1 SET, OpenSSL may_x000D_ incorrectly free a caller-owned BIO during PKCS7_verify(). A subsequent_x000D_ use of the BIO by the calling application results in a use-after-free_x000D_ condition._x000D_
_x000D_ In the common case this occurs when the application later calls_x000D_ BIO_free() on the BIO originally passed to PKCS7_verify(). Depending_x000D_ on allocator behavior and application-specific BIO usage patterns, this_x000D_ may result in a crash or other memory corruption. In some application_x000D_ contexts this may potentially be exploitable for remote code execution._x000D_
_x000D_ Applications that process PKCS#7 or S/MIME signed messages using OpenSSL_x000D_ PKCS#7 APIs may be affected. Applications using the CMS APIs for this_x000D_ processing are not affected._x000D_
_x000D_ The FIPS modules in 4.0, 3.6, 3.5, 3.4, and 3.0 are not affected by this_x000D_ issue, as the affected code is outside the OpenSSL FIPS module boundary.(CVE-2026-45447)

Issue Summary: Cryptographic Message Services (CMS) processing fails to perform_x000D_ sufficient input validation on the cipher and tag length fields of_x000D_ AuthEnvelopedData containers, leading to various potential compromises._x000D_
_x000D_ Impact Summary: Attackers making use of these vulnerabilities may achieve_x000D_ key-equivalent functionality for a given CMS recipient and/or bypass integrity_x000D_ validation for a given message._x000D_
_x000D_ In one use case, an attacker may send a CMS message containing_x000D_ AuthEnvelopedData with the cipher specified as a non-AEAD cipher. OpenSSL_x000D_ erroneously allows this selection, and attempts to decrypt and validate the_x000D_ message._x000D_
_x000D_ An on-path attacker who captures one legitimate AES-GCM AuthEnvelopedData_x000D_ addressed to the victim can re-emit it with the recipientInfos set left_x000D_ byte-for-byte intact, so the victim's private key still unwraps the genuine CEK_x000D_ (the content-encryption key), but with the inner OID rewritten to AES-256-OFB_x000D_ (Output Feedback Mode, an unauthenticated keystream mode) and with an_x000D_ attacker-chosen IV and ciphertext. The victim initializes AES-256-OFB under the_x000D_ real CEK, never consults the MAC field, and CMS_decrypt() returns success._x000D_
_x000D_ If the application under attack responds to the attacker with any indicator_x000D_ showing success or failure of the decryption effort, it is possible for the_x000D_ attacker to use this as an oracle to obtain key equivalent functionality for the_x000D_ CEK used for the chosen recipient of the message._x000D_
_x000D_ In another use case, an attacker can reduce the tag length of the chosen AEAD_x000D_ cipher for a given AuthEnvelopedData container to be a single byte long,_x000D_ allowing an attacker to brute force CMS decryption, producing an integrity_x000D_ bypass for applications that trust CMS_decrypt() to reject modified content._x000D_
_x000D_ The FIPS modules are not affected by this issue.(CVE-2026-34182)

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.

Solution

Update the affected openssl packages.

See Also

http://www.nessus.org/u?0a7bd9dd

Plugin Details

Severity: Critical

ID: 346784

File Name: EulerOS_SA-2026-3812.nasl

Version: 1.1

Type: Local

Published: 9/17/2026

Updated: 9/17/2026

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: High

Score: 7.6

Percentile: 98.37

CVSS v2

Risk Factor: Critical

Base Score: 10

Temporal Score: 7.4

Vector: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C

CVSS Score Source: CVE-2026-45447

CVSS v3

Risk Factor: Critical

Base Score: 9.1

Temporal Score: 7.9

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Temporal Vector: CVSS:3.0/E:U/RL:O/RC:C

CVSS Score Source: CVE-2026-34182

Vulnerability Information

CPE: cpe:/o:huawei:euleros:2.0, p-cpe:/a:huawei:euleros:openssl-devel, p-cpe:/a:huawei:euleros:openssl-help, p-cpe:/a:huawei:euleros:openssl-libs, p-cpe:/a:huawei:euleros:openssl-perl, p-cpe:/a:huawei:euleros:openssl

Required KB Items: Host/local_checks_enabled, Host/cpu, Host/EulerOS/release, Host/EulerOS/rpm-list, Host/EulerOS/sp

Excluded KB Items: Host/EulerOS/uvp_version

Exploit Ease: No known exploits are available

Patch Publication Date: 9/17/2026

Vulnerability Publication Date: 6/9/2026

Reference Information

CVE: CVE-2026-34180, CVE-2026-34182, CVE-2026-42766, CVE-2026-42767, CVE-2026-42770, CVE-2026-45445, CVE-2026-45446, CVE-2026-45447, CVE-2026-7383, CVE-2026-9076