<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
	<DocumentTitle xml:lang="en">An update for erlang is now available for openEuler-24.03-LTS-SP3</DocumentTitle>
	<DocumentType>Security Advisory</DocumentType>
	<DocumentPublisher Type="Vendor">
		<ContactDetails>openeuler-security@openeuler.org</ContactDetails>
		<IssuingAuthority>openEuler security committee</IssuingAuthority>
	</DocumentPublisher>
	<DocumentTracking>
		<Identification>
			<ID>openEuler-SA-2026-3464</ID>
		</Identification>
		<Status>Final</Status>
		<Version>1.0</Version>
		<RevisionHistory>
			<Revision>
				<Number>1.0</Number>
				<Date>2026-08-20</Date>
				<Description>Initial</Description>
			</Revision>
		</RevisionHistory>
		<InitialReleaseDate>2026-08-20</InitialReleaseDate>
		<CurrentReleaseDate>2026-08-20</CurrentReleaseDate>
		<Generator>
			<Engine>openEuler SA Tool V1.0</Engine>
			<Date>2026-08-20</Date>
		</Generator>
	</DocumentTracking>
	<DocumentNotes>
		<Note Title="Synopsis" Type="General" Ordinal="1" xml:lang="en">erlang security update</Note>
		<Note Title="Summary" Type="General" Ordinal="2" xml:lang="en">An update for erlang is now available for openEuler-24.03-LTS-SP3</Note>
		<Note Title="Description" Type="General" Ordinal="3" xml:lang="en">Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson.

Security Fix(es):

Improper Handling of Exceptional Conditions vulnerability in Erlang OTP erts (epmd) allows an unauthenticated remote attacker to permanently terminate the Erlang Port Mapper Daemon (epmd) via connection slot exhaustion.

The do_accept function in erts/epmd/src/epmd_srv.c calls epmd_cleanup_exit() when accept(2) returns EMFILE (per-process file descriptor limit reached) or ENFILE (system-wide file descriptor limit reached), rather than treating these as recoverable conditions. An attacker can exhaust epmd&apos;s file descriptor slots by holding many TCP connections open while periodically sending a single byte to reset the idle timeout, then causing accept(2) to return EMFILE, which kills the daemon. epmd has no per-source-IP connection cap, making the attack feasible from a single source.

On Debian/Ubuntu default packaging the impact is amplified: the systemd unit inherits a low file descriptor soft limit, and repeated daemon deaths trigger systemd&apos;s start-rate-limit, permanently failing both epmd.service and epmd.socket and requiring manual operator intervention to recover.

This issue affects OTP from OTP 17.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15.(CVE-2026-42792)

Signed to Unsigned Conversion Error and Out-of-bounds Write vulnerability in Erlang OTP erts allows an attacker who can supply a crafted Erlang external term format (ETF) binary to binary_to_term/1 to corrupt the BEAM heap pointer and crash the virtual machine.

When decoding a LARGE_TUPLE_EXT term, the validation pass decoded_size() in erts/emulator/beam/external.c reads the 32-bit arity field as unsigned (get_uint32()), while the decode pass dec_term() reads the same field as a signed 32-bit integer (get_int32()) into an int. An arity wire value of 0x80000000 passes validation as 2147483648 but decodes as -2147483648, so the subsequent hp += n moves the heap allocation pointer backward. Neither pass enforces the runtime tuple-arity limit MAX_ARITYVAL. The result is an out-of-bounds heap write; in practice the VM detects an impossible heap size and aborts, denying service. The required padding is large when uncompressed but the compressed-ETF envelope shrinks it to a small payload on the wire.

This issue affects OTP from OTP 25.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to erts from 13.0 before 17.0.4, 16.4.0.4 and 15.2.7.11.(CVE-2026-55737)

The Erlang/OTP ssl TLS 1.2 (and earlier) and DTLS client does not verify that the cipher suite selected by the server in ServerHello was among the suites offered by the client in ClientHello. The client-side tls_handshake:hello/5 handler validates the negotiated protocol version and the downgrade sentinel but hands the server-chosen suite directly to ssl_handshake:handle_server_hello_extensions/9, which installs it without a membership check. The TLS 1.3 client path performs this check (per RFC 8446), so it is not affected.

An on-path attacker between the client and the intended server can respond with a ServerHello selecting an anonymous key exchange suite such as TLS_DH_anon_* or TLS_ECDH_anon_* that the client never offered. Anonymous suites do not require the server to present a certificate, so the entire verify_peer and cacerts configuration is bypassed: the attacker completes the handshake with its own ephemeral parameters, no certificate is validated, no hostname is checked, and ssl:connect returns {ok, Socket}. All subsequent application traffic is readable and modifiable by the attacker.

This issue affects OTP from OTP R13B03 before OTP 27.3.4.15, from OTP 28.0 before OTP 28.5.0.4, and from OTP 29.0 before OTP 29.0.4, corresponding to ssl from 3.10.7 before 11.2.12.11, from 11.3 before 11.6.0.4, and from 11.7 before 11.7.4. Whether OTP before OTP R13B03, corresponding to ssl before 3.10.7, is affected is unknown.(CVE-2026-55953)

The Erlang/OTP ssl application does not detect cycles when reconstructing an incomplete peer certificate chain during a TLS or DTLS handshake. In ssl_certificate:handle_incomplete_chain/5, the received chain is passed to ssl_certificate:build_certificate_chain/5, which walks issuer relationships via ssl_certificate:do_certificate_chain/7 with no cycle detection and no depth limit. When the peer supplies two mutually cross-signed certificates in unordered form (A issues B, B issues A), the issuer lookup alternates between the two certificates and the pair of functions recurses indefinitely, growing the call stack and chain accumulator without bound.

An unauthenticated remote attacker can send a crafted certificate chain in a TLS or DTLS Certificate handshake message to exhaust available memory and crash the BEAM node. Only a TCP connection and a partial handshake are required; no authentication or completed handshake is needed, and both TLS/DTLS servers and clients are affected when processing peer certificate messages.

This issue affects OTP from OTP 23.2 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to ssl from 10.2 before 11.7.4, 11.6.0.4 and 11.2.12.11.(CVE-2026-58227)

Classic buffer overflow in the Erlang/OTP megaco flex scanner C driver allows a remote unauthenticated attacker to corrupt the driver&apos;s memory (and potentially achieve remote code execution or a denial-of-service crash) by sending a single text-encoded H.248/Megaco message containing an oversized property parm name.

When tokenizing a Local/Remote descriptor, mfs_load_property_groups extracts the attacker-controlled property name (bounded only by the message length) and, when no value follows, formats it into a fixed 512-byte error_msg field of the MfsErlDrvData struct using an unchecked sprintf call. Names longer than roughly 452 bytes overflow into the immediately following struct fields (text_buf, text_ptr, term_spec, term_spec_size, term_spec_index), overwriting live pointers and counters with attacker-chosen bytes. Subsequent scanner code writes and frees through the corrupted pointers, producing arbitrary write and arbitrary free primitives inside the BEAM VM process, which can be leveraged for remote code execution. On builds compiled with _FORTIFY_SOURCE the overflow is detected at runtime and terminates the process with SIGABRT, resulting in denial of service.

The overflow occurs in the flex scanner before any grammar or Megaco-level authentication processing, so exploitation requires only network reachability to the megaco transport port on a node configured with {scanner, flex}.

This vulnerability is associated with program files lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src and program routines mfs_load_property_groups.

This issue affects OTP from OTP 17.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to megaco from 3.17.1 before 4.9.1, 4.8.3.1 and 4.7.2.2. Versions prior to OTP 17.0 are also affected but are not listed because the OTP version scheme is only defined from OTP 17.0 onwards.(CVE-2026-59250)</Note>
		<Note Title="Topic" Type="General" Ordinal="4" xml:lang="en">An update for erlang is now available for master/openEuler-20.03-LTS-SP4/openEuler-22.03-LTS-SP4/openEuler-24.03-LTS-Next/openEuler-24.03-LTS-SP1/openEuler-24.03-LTS-SP3/openEuler-24.03-LTS-SP4.

openEuler Security has rated this update as having a security impact of high. A Common Vunlnerability Scoring System(CVSS)base score,which gives a detailed severity rating, is available for each vulnerability from the CVElink(s) in the References section.</Note>
		<Note Title="Severity" Type="General" Ordinal="5" xml:lang="en">High</Note>
		<Note Title="Affected Component" Type="General" Ordinal="6" xml:lang="en">erlang</Note>
	</DocumentNotes>
	<DocumentReferences>
		<Reference Type="Self">
			<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3464</URL>
		</Reference>
		<Reference Type="openEuler CVE">
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-42792</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-55737</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-55953</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-58227</URL>
			<URL>https://www.openeuler.org/en/security/cve/detail/?cveId=CVE-2026-59250</URL>
		</Reference>
		<Reference Type="Other">
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-42792</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-55737</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-55953</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-58227</URL>
			<URL>https://nvd.nist.gov/vuln/detail/CVE-2026-59250</URL>
		</Reference>
	</DocumentReferences>
	<ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
		<Branch Type="Product Name" Name="openEuler">
			<FullProductName ProductID="openEuler-24.03-LTS-SP3" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">openEuler-24.03-LTS-SP3</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="aarch64">
			<FullProductName ProductID="erlang-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-asn1-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-asn1-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-common_test-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-common_test-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-compiler-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-compiler-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-crypto-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-crypto-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-debugger-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-debugger-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-debuginfo-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-debuginfo-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-debugsource-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-debugsource-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-dialyzer-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-dialyzer-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-diameter-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-diameter-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-edoc-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-edoc-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-eldap-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-eldap-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-erl_docgen-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-erl_docgen-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-erl_interface-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-erl_interface-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-erts-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-erts-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-et-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-et-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-eunit-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-eunit-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-examples-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-examples-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-ftp-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-ftp-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-inets-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-inets-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-jinterface-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-jinterface-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-kernel-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-kernel-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-megaco-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-megaco-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-mnesia-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-mnesia-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-observer-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-observer-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-odbc-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-odbc-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-os_mon-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-os_mon-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-parsetools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-parsetools-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-public_key-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-public_key-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-reltool-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-reltool-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-runtime_tools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-runtime_tools-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-sasl-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-sasl-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-snmp-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-snmp-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-src-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-src-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-ssh-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-ssh-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-ssl-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-ssl-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-stdlib-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-stdlib-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-syntax_tools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-syntax_tools-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-tftp-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-tftp-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-tools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-tools-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-wx-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-wx-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
			<FullProductName ProductID="erlang-xmerl-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-xmerl-25.3.2.6-19.oe2403sp3.aarch64.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="src">
			<FullProductName ProductID="erlang-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-25.3.2.6-19.oe2403sp3.src.rpm</FullProductName>
		</Branch>
		<Branch Type="Package Arch" Name="x86_64">
			<FullProductName ProductID="erlang-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-asn1-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-asn1-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-common_test-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-common_test-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-compiler-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-compiler-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-crypto-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-crypto-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-debugger-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-debugger-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-debuginfo-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-debuginfo-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-debugsource-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-debugsource-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-dialyzer-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-dialyzer-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-diameter-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-diameter-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-edoc-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-edoc-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-eldap-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-eldap-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-erl_docgen-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-erl_docgen-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-erl_interface-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-erl_interface-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-erts-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-erts-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-et-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-et-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-eunit-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-eunit-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-examples-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-examples-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-ftp-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-ftp-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-inets-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-inets-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-jinterface-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-jinterface-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-kernel-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-kernel-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-megaco-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-megaco-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-mnesia-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-mnesia-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-observer-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-observer-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-odbc-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-odbc-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-os_mon-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-os_mon-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-parsetools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-parsetools-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-public_key-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-public_key-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-reltool-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-reltool-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-runtime_tools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-runtime_tools-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-sasl-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-sasl-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-snmp-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-snmp-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-src-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-src-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-ssh-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-ssh-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-ssl-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-ssl-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-stdlib-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-stdlib-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-syntax_tools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-syntax_tools-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-tftp-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-tftp-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-tools-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-tools-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-wx-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-wx-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
			<FullProductName ProductID="erlang-xmerl-25.3.2.6-19" CPE="cpe:/a:openEuler:openEuler:24.03-LTS-SP3">erlang-xmerl-25.3.2.6-19.oe2403sp3.x86_64.rpm</FullProductName>
		</Branch>
	</ProductTree>
	<Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Improper Handling of Exceptional Conditions vulnerability in Erlang OTP erts (epmd) allows an unauthenticated remote attacker to permanently terminate the Erlang Port Mapper Daemon (epmd) via connection slot exhaustion.

The do_accept function in erts/epmd/src/epmd_srv.c calls epmd_cleanup_exit() when accept(2) returns EMFILE (per-process file descriptor limit reached) or ENFILE (system-wide file descriptor limit reached), rather than treating these as recoverable conditions. An attacker can exhaust epmd&apos;s file descriptor slots by holding many TCP connections open while periodically sending a single byte to reset the idle timeout, then causing accept(2) to return EMFILE, which kills the daemon. epmd has no per-source-IP connection cap, making the attack feasible from a single source.

On Debian/Ubuntu default packaging the impact is amplified: the systemd unit inherits a low file descriptor soft limit, and repeated daemon deaths trigger systemd&apos;s start-rate-limit, permanently failing both epmd.service and epmd.socket and requiring manual operator intervention to recover.

This issue affects OTP from OTP 17.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-42792</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>erlang security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3464</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="2" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Signed to Unsigned Conversion Error and Out-of-bounds Write vulnerability in Erlang OTP erts allows an attacker who can supply a crafted Erlang external term format (ETF) binary to binary_to_term/1 to corrupt the BEAM heap pointer and crash the virtual machine.

When decoding a LARGE_TUPLE_EXT term, the validation pass decoded_size() in erts/emulator/beam/external.c reads the 32-bit arity field as unsigned (get_uint32()), while the decode pass dec_term() reads the same field as a signed 32-bit integer (get_int32()) into an int. An arity wire value of 0x80000000 passes validation as 2147483648 but decodes as -2147483648, so the subsequent hp += n moves the heap allocation pointer backward. Neither pass enforces the runtime tuple-arity limit MAX_ARITYVAL. The result is an out-of-bounds heap write; in practice the VM detects an impossible heap size and aborts, denying service. The required padding is large when uncompressed but the compressed-ETF envelope shrinks it to a small payload on the wire.

This issue affects OTP from OTP 25.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to erts from 13.0 before 17.0.4, 16.4.0.4 and 15.2.7.11.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-55737</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>erlang security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3464</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="3" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">The Erlang/OTP ssl TLS 1.2 (and earlier) and DTLS client does not verify that the cipher suite selected by the server in ServerHello was among the suites offered by the client in ClientHello. The client-side tls_handshake:hello/5 handler validates the negotiated protocol version and the downgrade sentinel but hands the server-chosen suite directly to ssl_handshake:handle_server_hello_extensions/9, which installs it without a membership check. The TLS 1.3 client path performs this check (per RFC 8446), so it is not affected.

An on-path attacker between the client and the intended server can respond with a ServerHello selecting an anonymous key exchange suite such as TLS_DH_anon_* or TLS_ECDH_anon_* that the client never offered. Anonymous suites do not require the server to present a certificate, so the entire verify_peer and cacerts configuration is bypassed: the attacker completes the handshake with its own ephemeral parameters, no certificate is validated, no hostname is checked, and ssl:connect returns {ok, Socket}. All subsequent application traffic is readable and modifiable by the attacker.

This issue affects OTP from OTP R13B03 before OTP 27.3.4.15, from OTP 28.0 before OTP 28.5.0.4, and from OTP 29.0 before OTP 29.0.4, corresponding to ssl from 3.10.7 before 11.2.12.11, from 11.3 before 11.6.0.4, and from 11.7 before 11.7.4. Whether OTP before OTP R13B03, corresponding to ssl before 3.10.7, is affected is unknown.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-55953</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.4</BaseScore>
				<Vector>AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>erlang security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3464</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="4" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">The Erlang/OTP ssl application does not detect cycles when reconstructing an incomplete peer certificate chain during a TLS or DTLS handshake. In ssl_certificate:handle_incomplete_chain/5, the received chain is passed to ssl_certificate:build_certificate_chain/5, which walks issuer relationships via ssl_certificate:do_certificate_chain/7 with no cycle detection and no depth limit. When the peer supplies two mutually cross-signed certificates in unordered form (A issues B, B issues A), the issuer lookup alternates between the two certificates and the pair of functions recurses indefinitely, growing the call stack and chain accumulator without bound.

An unauthenticated remote attacker can send a crafted certificate chain in a TLS or DTLS Certificate handshake message to exhaust available memory and crash the BEAM node. Only a TCP connection and a partial handshake are required; no authentication or completed handshake is needed, and both TLS/DTLS servers and clients are affected when processing peer certificate messages.

This issue affects OTP from OTP 23.2 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to ssl from 10.2 before 11.7.4, 11.6.0.4 and 11.2.12.11.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-58227</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>erlang security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3464</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
	<Vulnerability Ordinal="5" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
		<Notes>
			<Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">Classic buffer overflow in the Erlang/OTP megaco flex scanner C driver allows a remote unauthenticated attacker to corrupt the driver&apos;s memory (and potentially achieve remote code execution or a denial-of-service crash) by sending a single text-encoded H.248/Megaco message containing an oversized property parm name.

When tokenizing a Local/Remote descriptor, mfs_load_property_groups extracts the attacker-controlled property name (bounded only by the message length) and, when no value follows, formats it into a fixed 512-byte error_msg field of the MfsErlDrvData struct using an unchecked sprintf call. Names longer than roughly 452 bytes overflow into the immediately following struct fields (text_buf, text_ptr, term_spec, term_spec_size, term_spec_index), overwriting live pointers and counters with attacker-chosen bytes. Subsequent scanner code writes and frees through the corrupted pointers, producing arbitrary write and arbitrary free primitives inside the BEAM VM process, which can be leveraged for remote code execution. On builds compiled with _FORTIFY_SOURCE the overflow is detected at runtime and terminates the process with SIGABRT, resulting in denial of service.

The overflow occurs in the flex scanner before any grammar or Megaco-level authentication processing, so exploitation requires only network reachability to the megaco transport port on a node configured with {scanner, flex}.

This vulnerability is associated with program files lib/megaco/src/flex/megaco_flex_scanner_drv.flex.src and program routines mfs_load_property_groups.

This issue affects OTP from OTP 17.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15, corresponding to megaco from 3.17.1 before 4.9.1, 4.8.3.1 and 4.7.2.2. Versions prior to OTP 17.0 are also affected but are not listed because the OTP version scheme is only defined from OTP 17.0 onwards.</Note>
		</Notes>
		<ReleaseDate>2026-08-20</ReleaseDate>
		<CVE>CVE-2026-59250</CVE>
		<ProductStatuses>
			<Status Type="Fixed">
				<ProductID>openEuler-24.03-LTS-SP3</ProductID>
			</Status>
		</ProductStatuses>
		<Threats>
			<Threat Type="Impact">
				<Description>High</Description>
			</Threat>
		</Threats>
		<CVSSScoreSets>
			<ScoreSet>
				<BaseScore>7.5</BaseScore>
				<Vector>AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</Vector>
			</ScoreSet>
		</CVSSScoreSets>
		<Remediations>
			<Remediation Type="Vendor Fix">
				<Description>erlang security update</Description>
				<DATE>2026-08-20</DATE>
				<URL>https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-3464</URL>
			</Remediation>
		</Remediations>
	</Vulnerability>
</cvrfdoc>