EulerOS 2.0 SP15 : perl (EulerOS-SA-2026-3933)

critical Nessus Plugin ID 364001

Synopsis

The remote EulerOS host is missing multiple security updates.

Description

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

Perl versions through 5.43.9 produce silently incorrect regular expression matches when an alternation of more than 65535 fixed string branches is compiled into a trie in Perl_study_chunk._x000D_
_x000D_ When such branches are combined into a trie, the delta between the first branch and the shared tail is stored in a 16-bit field. A branch count above 65535 overflows the field, and the trie's match decision table is truncated with no warning or error._x000D_
_x000D_ A pattern of this shape produces false positive matches (matching strings it should not) and false negative matches (failing to match strings it should). When such a pattern gates an access or filtering decision, the result is wrong.(CVE-2026-13221)

Socket versions before 2.041 for Perl have an out-of-bounds heap read._x000D_
_x000D_ In Socket.xs, pack_ip_mreq_source() checks the length of its source argument before the argument is read, so the check tests the byte length carried over from the preceding multiaddr argument instead. Both addresses occupy a 4-byte field, so a valid multiaddr lets a source of any length pass the check, and the source is then copied into the 4-byte imr_sourceaddr field with a fixed-size copy. A source shorter than 4 bytes is not rejected, and the copy reads up to 3 bytes past the end of its buffer._x000D_
_x000D_ Calling pack_ip_mreq_source() with a source value shorter than 4 bytes copies adjacent heap memory into the returned packed structure.(CVE-2026-12087)

Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack._x000D_
_x000D_ S_measure_struct adds each item's size times its repeat count to a running total with no overflow check, so a large repeat count in a pack or unpack template wraps the signed SSize_t total negative. The @, X, and x position codes then guard their moves with a signed length comparison that passes when the length is negative, advancing the buffer pointer out of bounds._x000D_
_x000D_ A template derived from untrusted input can read heap memory past the buffer and return it to the caller.(CVE-2026-57432)

Tenable has extracted the preceding description block directly from the EulerOS perl 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 perl packages.

See Also

http://www.nessus.org/u?b449e975

Plugin Details

Severity: Critical

ID: 364001

File Name: EulerOS_SA-2026-3933.nasl

Version: 1.1

Type: Local

Published: 10/8/2026

Updated: 10/8/2026

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: High

Score: 7.1

Percentile: 98.36

CVSS v2

Risk Factor: High

Base Score: 9.4

Temporal Score: 7

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

CVSS Score Source: CVE-2026-13221

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:N/I:H/A:H

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

Vulnerability Information

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

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: 10/8/2026

Vulnerability Publication Date: 6/15/2026

Reference Information

CVE: CVE-2026-12087, CVE-2026-13221, CVE-2026-57432

IAVA: 2026-A-0618, 2026-A-0696-S