| Patch Package | OTP 28.5.0.4 |
| Git Tag | OTP-28.5.0.4 |
| Date | 2026-07-27 |
| Issue Id |
CVE-2026-42792
CVE-2026-47078
CVE-2026-54890
CVE-2026-55737
CVE-2026-55953
CVE-2026-58227
ERIERL-1341
GH-SA-622p-qfh6-c352
GH-SA-7xgh-gmgf-q2g7
|
| System | OTP |
| Release | 28 |
| Application | |
| Potential Incompatibilities |
Potential Incompatibilities #
- OTP-20136
-
- Application(s):
- erts
- Related Id(s):
Mitigated a denial of service attack in epmd.
Thanks to Ryan Moore for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.
crypto-5.8.3.2 #
The crypto-5.8.3.2 application can be applied independently of other applications on a full OTP 28 installation.
- OTP-20239
-
- Related Id(s):
Fixed crash in
crypto:macN/5when suppliedMacLengthwas greater than length of what the underlying hash returned. - OTP-20241
-
- Related Id(s):
Fixed segfault in
crypto:aead_cipher_init_nifwhen argument validation fails. - OTP-20244
-
- Related Id(s):
Fix cipher key buffer overread for
chacha20_poly1305.
Full runtime dependencies of crypto-5.8.3.2
erts-9.0, kernel-6.0, stdlib-3.9
diameter-2.6.1.2 #
The diameter-2.6.1.2 application can be applied independently of other applications on a full OTP 28 installation.
- OTP-20242
-
- Related Id(s):
Fix infinite loop in
diameter_dist:route_session/2when avp other thanSession-Idhas zero length. - OTP-20243
-
- Related Id(s):
Fix crash in
diameter_dist:route_session/2whenSession-Id(code: 263) avp has zero length.
Full runtime dependencies of diameter-2.6.1.2
erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0
erts-16.4.0.4 #
The erts-16.4.0.4 application can be applied independently of other applications on a full OTP 28 installation.
- OTP-20136
-
- POTENTIAL INCOMPATIBILITY
Mitigated a denial of service attack in epmd.
Thanks to Ryan Moore for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.
- OTP-20214
-
- Related Id(s):
Fixed heap corruption when an invalidly encoded tuple with an arity of 2^31 or larger is decoded from Erlang’s External Term Format (binary_to_term).
- OTP-20257
-
- Related Id(s):
When send_timeout is set and send_timeout_close is set to true, a ‘tcp_closed’ message is expected when the timeout occurs, but that (message) was not delivered. This has now been fixed.
- OTP-20259
-
- Related Id(s):
A crafted External Term Format (ETF) payload could crash the runtime system.
Thanks to Paul Guyot for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.
- OTP-20260
-
Fixed a rounding error in 16-bit float conversion.
Full runtime dependencies of erts-16.4.0.4
kernel-9.0, sasl-3.3, stdlib-4.1
megaco-4.8.3.1 #
The megaco-4.8.3.1 application can be applied independently of other applications on a full OTP 28 installation.
- OTP-20237
-
- Related Id(s):
Fixed a buffer overflow in the megaco flex scanner C driver. A property parm name exceeding 452 bytes in a text-encoded H.248 message could overflow a fixed-size error buffer, crashing the VM. The sprintf calls have been replaced with bounded snprintf.
Full runtime dependencies of megaco-4.8.3.1
asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
public_key-1.20.3.4 #
Note! The public_key-1.20.3.4 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
On a full OTP 28 installation, also the following runtime
dependency has to be satisfied:
-- crypto-5.8 (first satisfied in OTP 28.3)
- OTP-20251
-
- Related Id(s):
A certificate chain with crafted policyMappings extensions could cause exponential memory consumption during path validation, exploitable via TLS handshake. Chains exceeding a node-count cap are now rejected with {bad_cert, policy_tree_exceeded}.
Full runtime dependencies of public_key-1.20.3.4
asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0
ssh-5.5.2.3 #
Note! The ssh-5.5.2.3 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
On a full OTP 28 installation, also the following runtime
dependency has to be satisfied:
-- crypto-5.7 (first satisfied in OTP 28.1)
- OTP-20229
-
- Related Id(s):
DH key exchange now enforces strict bounds (1 < e/f < p-1, 1 < K < p-1) on all paths, matching OpenSSH and Go. No interop impact.
- OTP-20258
-
- Related Id(s):
-
ERIERL-1341, PR-11369
Validate DH group parameters (P, G) received from the server during DH-GEX key exchange. The client now rejects groups where P is smaller than 2048 bits or G is not in the range (1, P-1). The default minimum in dh_gex_limits has been raised to 2048 on both client and server.
Full runtime dependencies of ssh-5.5.2.3
crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0
ssl-11.6.0.4 #
Note! The ssl-11.6.0.4 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
On a full OTP 28 installation, also the following runtime
dependencies have to be satisfied:
-- crypto-5.8 (first satisfied in OTP 28.3)
-- public_key-1.20.3.1 (first satisfied in OTP 28.5.0.1)
- OTP-20240
-
- Related Id(s):
Add pre TLS-1.3 client side validation of servers algorithm selection being part of clients offered algorithms, preventing in worst case MITM circumventing validation of server certificate tricking the client to trust the malicious MITM as it was a valid server. Note this check is already performed for TLS-1.3 clients.
- OTP-20245
-
- Related Id(s):
Prevent invalid cert chains to create cycles in chain building code used to handle chains that could be unordered or contain extraneous certs. This avoids a DoS attack possibility.
- OTP-20248
-
- Related Id(s):
Clarify that rsa_psk and anonymous key exchange algorithms are considered legacy. Also harden rsa_psk in same way as normal rsa key exchange.
- OTP-20250
-
- Related Id(s):
Harden SSL application to conform with best practice and RFC’s. This will mostly improve error messages and conserve memory usage.
- OTP-20251
-
- Related Id(s):
A certificate chain with crafted policyMappings extensions could cause exponential memory consumption during path validation, exploitable via TLS handshake. Chains exceeding a node-count cap are now rejected with {bad_cert, policy_tree_exceeded}.
Full runtime dependencies of ssl-11.6.0.4
crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3.1, runtime_tools-1.15.1, stdlib-7.0
stdlib-7.3.0.1 #
Note! The stdlib-7.3.0.1 application cannot be applied independently of other applications on an arbitrary OTP 28 installation.
On a full OTP 28 installation, also the following runtime
dependency has to be satisfied:
-- erts-16.0.3 (first satisfied in OTP 28.0.3)
- OTP-20143
-
- Related Id(s):
Fixed a bug where zip:unzip/1,2 and zip:extract/1,2 were vulnerable to a relative path traversal attack. A crafted zip archive containing entry names such as ../x/y could have caused files to be written outside the intended extraction directory.
Thanks to Jonatan Männchen and Zhang Delong for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.
Full runtime dependencies of stdlib-7.3.0.1
compiler-5.0, crypto-4.5, erts-16.0.3, kernel-10.0, sasl-3.0, syntax_tools-3.2.1
Thanks To #
a1x-an, Jonatan Männchen