Erlang/OTP 27.3.4.18

This release of Erlang/OTP can be built from source, installed using pre-built packages for your OS or third-party tools (such as kerl, asdf or mise), or run from the official Docker image:

docker run -it erlang:27.3.4.18
Patch Package OTP 27.3.4.18
Git Tag OTP-27.3.4.18
Date 2026-09-22
Version Tree Which releases contain 27.3.4.18
Issue Id
CVE-2026-65634
CVE-2026-68956
CVE-2026-89422
ERIERL-1355
ERIERL-1356
ERIERL-1363
GH-SA-qhcm-px9c-rvfh
System OTP
Release 27
Application
Potential Incompatibilities

Potential Incompatibilities #

OTP-20287
Application(s):
ssh
Related Id(s):

GH-SA-qhcm-px9c-rvfh, PR-11523, CVE-2026-68956

Fixed a vulnerability where the max_channels daemon option was not enforced for session channels without an active subsystem, allowing a remote authenticated user to open an infinite number of channels and exhaust server resources despite the configured limit.

The default value of the max_channels daemon option has been changed from infinity to 256. Deployments requiring more than 256 simultaneous channels per connection can restore the previous behavior by setting {max_channels, infinity}.

The default value of the max_sessions daemon option has been changed from infinity to 1024. Deployments requiring more concurrent SSH connections can restore the previous behavior by setting {max_sessions, infinity}.

asn1-5.3.4.3 #

The asn1-5.3.4.3 application can be applied independently of other applications on a full OTP 27 installation.

OTP-20272
Related Id(s):

PR-11655, CVE-2026-65634

Fixed a denial-of-service attack in asn1, where abnormally large OID components (arcs) could cause resource exhaustion.

OTP-20355
Related Id(s):

ERIERL-1355, PR-11559

The JER backend will no longer break certain values (true, false, null) when they are typed as ENUMERATED, they will now be encoded as strings as required by the standard.

Full runtime dependencies of asn1-5.3.4.3

erts-14.0, kernel-9.0, stdlib-5.0

compiler-8.6.1.7 #

The compiler-8.6.1.7 application can be applied independently of other applications on a full OTP 27 installation.

OTP-20365
Related Id(s):

GH-11534, PR-11566

In rare circumstances, the type analysis pass of the compiler could run for many minutes.

OTP-20386
Related Id(s):

GH-11619, PR-11638

Certain uses of funs could crash the compiler. For example:

f() ->
    F = fun Fn(0) -> 0; Fn(N) -> Fn(N - 1) end,
    [F(X) || X <- [1, 2]].

This has been corrected.

Full runtime dependencies of compiler-8.6.1.7

crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0

mnesia-4.23.5.5 #

The mnesia-4.23.5.5 application can be applied independently of other applications on a full OTP 27 installation.

OTP-20256
Related Id(s):

GH-11344, PR-11426

Fixed mnesia:force_load_table/1 getting stuck when the remote node becomes unreachable during table loading. When a network loader is aborted due to sender node going down and a user has forced a table load, we now retry loading from disc instead. Additionally, for disc_only_copies tables, the process actually loading the table is the dets server process, not the mnesia loader, so it would not receive the abort notification and would hang indefinitely. Now it correctly receives the notification and aborts table loading.

Full runtime dependencies of mnesia-4.23.5.5

erts-9.0, kernel-5.3, stdlib-5.0

public_key-1.17.1.6 #

The public_key-1.17.1.6 application can be applied independently of other applications on a full OTP 27 installation.

OTP-20367
Related Id(s):

PR-11574

Align moduli and pubkey_moduli.hrl to state on OTP-28 and newer.

Full runtime dependencies of public_key-1.17.1.6

asn1-5.0, crypto-5.0, erts-13.0, kernel-8.0, stdlib-4.0

ssh-5.2.11.13 #

The ssh-5.2.11.13 application can be applied independently of other applications on a full OTP 27 installation.

OTP-20287
POTENTIAL INCOMPATIBILITY
 

Fixed a vulnerability where the max_channels daemon option was not enforced for session channels without an active subsystem, allowing a remote authenticated user to open an infinite number of channels and exhaust server resources despite the configured limit.

The default value of the max_channels daemon option has been changed from infinity to 256. Deployments requiring more than 256 simultaneous channels per connection can restore the previous behavior by setting {max_channels, infinity}.

The default value of the max_sessions daemon option has been changed from infinity to 1024. Deployments requiring more concurrent SSH connections can restore the previous behavior by setting {max_sessions, infinity}.

OTP-20371
Related Id(s):

ERIERL-1363, GH-11586, PR-11616

The SSH daemon no longer rejects a subsystem request that is preceded by env or pty-req request on the same channel.

Full runtime dependencies of ssh-5.2.11.13

crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0

ssl-11.2.12.13 #

Note! The ssl-11.2.12.13 application cannot be applied independently of other applications on an arbitrary OTP 27 installation.

   On a full OTP 27 installation, also the following runtime
   dependency has to be satisfied:
   -- public_key-1.17.1.3 (first satisfied in OTP 27.3.4.12)
OTP-20327
Related Id(s):

GH-11338, PR-11356

Undecodable certificate_authorities names are now skipped, as they are just a hint.

OTP-20358
Related Id(s):

ERIERL-1356, PR-11570

Corrected generated keylog information generated from the keylog_hs option in the corner case that it was invoked after the client had reached its connection state, but the server closed the connection before it reached its connection state.

OTP-20384
Related Id(s):

PR-11632

Fix restart bug for TLS-1.3 session ticket server, introduced by backport commit in OTP-27.3.4.14, would case a restart to fail due to wrong number of arguments.

OTP-20388
Related Id(s):

PR-11641, CVE-2026-89422

Reject unsolicited TLS-1.3 pre_shared_key in client.

OTP-20390
Related Id(s):

PR-11651

Security and robustness hardening returning RFC mandated alert reasons, narrowing/correcting length checks.

Correct signature algorithm handling that slightly mixed up signature algorithms and signature algorithms cert in TLS-1.2.

Add missing TLS-1.3 Brainpool groups support. (Not relevant in 27 patch)

Enhanced/corrected documentation and spec errors/deviations.

Full runtime dependencies of ssl-11.2.12.13

crypto-5.1, erts-15.0, inets-5.10.7, kernel-9.0, public_key-1.17.1.3, runtime_tools-1.15.1, stdlib-6.0

Thanks To #

Alex Nogueira, ausimian