# CVE-2026-89422: Erlang/OTP ssl TLS 1.3 server authentication bypass

Source: https://junglewise.ai/threats/cve-2026-89422-key-exchange-without-entity-authentication-vulnerability-in  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-22. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-89422 · Severity: info · Published 2026-09-22

Erlang/OTP's TLS implementation for encrypted network connections contains a critical flaw in TLS 1.3 client handshaking that allows an attacker to impersonate any server. A malicious or compromised peer can complete the connection without presenting a valid certificate, gaining the ability to read all transmitted data (credentials, tokens, requests) and forge responses. Any application using Erlang/OTP's ssl module for HTTPS, database, messaging, or distributed node connections is affected unless restricted to TLS 1.2.

Technologies: [Erlang OTP](https://junglewise.ai/threats/technologies/otp), [Erlang Ssl](https://junglewise.ai/threats/technologies/ssl). Vendors: [Erlang](https://junglewise.ai/threats/vendors/erlang).

## Quick answers

**Is CVE-2026-89422 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-89422 being exploited in the wild.

**How severe is CVE-2026-89422?** Informational severity, published 22 September 2026.

**Which products and versions are affected?** Erlang OTP 22.2 to 27.3.4.17, 28.0.0 to 28.5.0.6, 29.0.0 to 29.1.0; Erlang Ssl 9.5 to 11.2.12.12, 11.6.0.0 to 11.6.0.5, 11.7.0 to 11.7.6.

**Is there a fix for CVE-2026-89422?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-89422 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-89422?** Check whether you run Erlang OTP or Erlang Ssl at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability stems from improper validation of the pre_shared_key extension in TLS 1.3 ServerHello messages. When a TLS 1.3 client receives an unsolicited PSK extension (which it never offered), the ssl module incorrectly sets a resumption flag and skips all certificate validation states including path validation, hostname verification, CRL checking, and OCSP stapling. An attacker only needs the client's ephemeral key to derive correct handshake keys, requiring no certificate or prior session. Affected versions are Erlang/OTP 22.2 through 27.x, 28.x, and 29.x; TLS 1.2 clients are unaffected.

## Affected products

- Erlang OTP 22.2 to 27.3.4.17, 28.0.0 to 28.5.0.6, 29.0.0 to 29.1.0
- Erlang ssl 9.5 to 11.2.12.12, 11.6.0.0 to 11.6.0.5, 11.7.0 to 11.7.6

## Timeline

- 2026-09-22: disclosed

## References

- [https://github.com/](https://github.com/)
- [https://cna.erlef.org/cves/CVE-2026-89422.html](https://cna.erlef.org/cves/CVE-2026-89422.html)

## Related threats

- [Erlang OTP erl_tar infinite loop in GNU sparse member handling](https://junglewise.ai/threats/cve-2026-96596-loop-with-unreachable-exit-condition-infinite-loop-vulnerability)
- [Erlang OTP ssl denial of service in TLS 1.3 NewSessionTicket](https://junglewise.ai/threats/cve-2026-94200-improper-validation-of-consistency-within-input-vulnerability-in)
- [Erlang/OTP SSH unbounded session channel allocation denial of service](https://junglewise.ai/threats/cve-2026-68956-allocation-of-resources-without-limits-or-throttling)
- [Erlang OTP asn1 OBJECT IDENTIFIER decoder algorithmic complexity denial of service](https://junglewise.ai/threats/cve-2026-65634-inefficient-algorithmic-complexity-in-the-erlang-otp-asn1-object)
- [Erlang/OTP signed integer overflow in inet TCP driver packet parsing](https://junglewise.ai/threats/cve-2026-75538-erlang-otp-signed-integer-overflow-in-inet-tcp-driver-packet)
