Patch Package OTP 27.3.4.8 Released

Erlang/OTP otp@REDACTED
Fri Feb 20 11:13:23 CET 2026


Patch Package:           OTP 27.3.4.8
Git Tag:                 OTP-27.3.4.8
Date:                    2026-02-20
Trouble Report Id:       OTP-19864, OTP-19962, OTP-19978, OTP-19981,
                         OTP-19983, OTP-19988, OTP-19993
Seq num:                 CVE-2026-21620, GH-10651, GH-10705, GH-8676,
                         PR-10575, PR-10616, PR-10664, PR-10696,
                         PR-10706, PR-10708, PR-10732
System:                  OTP
Release:                 27
Application:             crypto-5.5.3.1, erts-15.2.7.6, ssh-5.2.11.5,
                         stdlib-6.2.2.3, tftp-1.2.2.1
Predecessor:             OTP 27.3.4.7

Check out the git tag OTP-27.3.4.8, and build a full OTP system including
documentation. Apply one or more applications from this build as patches to your
installation using the 'otp_patch_apply' tool. For information on install
requirements, see descriptions for each application version below.

# crypto-5.5.3.1

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

## Fixed Bugs and Malfunctions

- Fixed static linking of OpenSSL 3.5+ on Windows.

  Own Id: OTP-19993
  Related Id(s): PR-10732

> #### Full runtime dependencies of crypto-5.5.3.1
>
> erts-9.0, kernel-5.3, stdlib-3.9

# erts-15.2.7.6

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

## Fixed Bugs and Malfunctions

- Fixed bug in ets:update_counter/4 and ets:update_element/4 accepting and
  inserting a default tuple smaller than the `keypos` of the table. Such a tuple
  without a key element would make the table internally inconsistent and might
  lead to bad behavior at table access, like ERTS runtime crash.

  Now a call to ets:update_counter/4 or ets:update_element/4 will fail with
  `badarg` if the key does not exist in the table and the default tuple is too
  small.

  Own Id: OTP-19962
  Related Id(s): PR-10616

- A missing memory barrier when unlocking process locks could cause unexpected
  behavior on architectures with weak memory ordering such as for example ARM.

  Own Id: OTP-19978
  Related Id(s): PR-10664

- A process could fail to wake from hibernation when a non‑message signal
  followed by a message signal arrived concurrently as the receiving process
  hibernated. If the process had a large heap, triggering a dirty GC, the wakeup
  could be lost.

  This bug existed since OTP 27.0.

  Own Id: OTP-19983
  Related Id(s): GH-10651, PR-10696

> #### Full runtime dependencies of erts-15.2.7.6
>
> kernel-9.0, sasl-3.3, stdlib-4.1

# ssh-5.2.11.5

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

## Fixed Bugs and Malfunctions

- Fix handling of the SSH "each side may guess" key-exchange mechanism as
  defined in RFC 4253, Section 7.

  Own Id: OTP-19864
  Related Id(s): GH-8676, PR-10575

> #### Full runtime dependencies of ssh-5.2.11.5
>
> 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

# stdlib-6.2.2.3

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

## Fixed Bugs and Malfunctions

- Fixed bug in ets:update_counter/4 and ets:update_element/4 accepting and
  inserting a default tuple smaller than the `keypos` of the table. Such a tuple
  without a key element would make the table internally inconsistent and might
  lead to bad behavior at table access, like ERTS runtime crash.

  Now a call to ets:update_counter/4 or ets:update_element/4 will fail with
  `badarg` if the key does not exist in the table and the default tuple is too
  small.

  Own Id: OTP-19962
  Related Id(s): PR-10616

- For a function that started with a bracket-only pattern (such as `[]`), the
  `?FUNCTION_ARITY` macro would evaluate to one less than the actual arity.

  Own Id: OTP-19988
  Related Id(s): GH-10705, PR-10708

> #### Full runtime dependencies of stdlib-6.2.2.3
>
> compiler-5.0, crypto-4.5, erts-15.0, kernel-10.0, sasl-3.0

# tftp-1.2.2.1

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

## Fixed Bugs and Malfunctions

- An issue in the undocumented initial state option \\{root_dir,Dir\} to the
  tftp_file module has been fixed. The request file name was just concatenated
  to Dir so it was possible to traverse above Dir by using "../" file path
  components. Now the option actually restricts local file operations to the Dir
  directory and subdirectories.

  The initial state option and how to use it was previously undocumented, so it
  is unlikely that anyone would have used it without understanding its
  peculiarities.

  The documentation of the TFTP application has also been clarified to make it
  obvious that the default server configuration allows read and write access to
  all files that are readable or writable by the user running the Erlang VM, and
  that the default configuration therefore should be avoided.

  Thanks to Luigino Camastra at Aisle Research, for finding and reporting this
  issue.

  Own Id: OTP-19981
  Related Id(s): PR-10706, CVE-2026-21620

> #### Full runtime dependencies of tftp-1.2.2.1
>
> erts-6.0, kernel-6.0, stdlib-5.0

# Thanks to

Daniel Hryzbil, Jan Uhlig



More information about the erlang-announce mailing list