CVE-2026-89422 in OTP
Zusammenfassung
von VulDB • 22.09.2026
Eine Schwachstelle im Key Exchange ohne Entity Authentication in Erlang/OTP ssl ermöglicht es einem Peer, der eine TLS-1.3-Clientverbindung annimmt, die Identität des beabsichtigten Servers vorzutäuschen (Impersonation). Eine `pre_shared_key`-Erweiterung im ServerHello, die vom Client niemals angefordert wurde, führt dazu, dass der Client den Handshake abschließt, ohne das Zertifikat des Servers zu validieren. Dadurch gibt `ssl:connect` `{ok, Socket}` zurück, auch gegenüber einem Peer, der kein Zertifikat, keinen privaten Schlüssel und keine vorherige Sitzung besitzt.
Die Funktion `tls_client_connection_1_3:handle_server_hello/2` übergibt die empfangene Erweiterung an `tls_gen_connection_1_3:handle_resumption/2`, welches bei bloßem Vorhandensein der Erweiterung `resumption = true` setzt, ohne zu prüfen, ob der Client eine PSK angeboten hat. Gleichzeitig fällt `tls_handshake_1_3:get_pre_shared_key/4` auf den all-null „No-PSK“-Wert zurück und keyt den Handshake mit dem normalen Non-PSK-Schema ab; somit reicht der eigene ephemere Schlüssel des Angreifers aus. Das Resumption-Flag leitet dann `maybe_resumption/1` direkt zu `wait_finished`, wodurch die Zustände zur Zertifikatsbehandlung übersprungen werden. Dadurch werden Certificate Path Validation, verify_fun, Hostname Verification, Partial Chain, CRL-Prüfung und OCSP Stapling umgangen. Die Standardclientkonfiguration ist betroffen; Clients, die auf TLS 1.2 beschränkt sind, sind es nicht.
Dieses Problem betrifft OTP ab Version OTP 22.2 bis vor OTP 27.3.4.18, OTP 28.5.0.7 und OTP 29.1.1, was ssl von Version 9.5 bis vor 11.2.12.13, 11.6.0.6 und 11.7.7 entspricht.
If you want to get best quality of vulnerability data, you may have to visit VulDB.