CVE-2026-89422 in OTP
Riassunto
di VulDB • 22/09/2026
Vulnerabilità di Key Exchange senza Entity Authentication in Erlang/OTP ssl che consente a un peer che risponde a una connessione TLS 1.3 del client di impersonare il server previsto. Un'estensione pre_shared_key presente nel ServerHello, mai offerta dal client, fa sì che il client completi l'handshake senza convalidare il certificato del server; pertanto, ssl:connect restituisce {ok, Socket} nei confronti di un peer privo di certificato, chiave privata e sessione precedente.
tls_client_connection_1_3:handle_server_hello/2 passa l'estensione ricevuta a tls_gen_connection_1_3:handle_resumption/2, che imposta resumption = true alla sua mera presenza senza verificare se il client abbia offerto una PSK. tls_handshake_1_3:get_pre_shared_key/4, nel frattempo, utilizza come fallback il valore "nessuna PSK" (tutti zeri) e configura l'handshake con la normale pianificazione non-PSK; di conseguenza, la chiave effemera dell'attaccante è sufficiente. Il flag resumption instrada quindi maybe_resumption/1 direttamente verso wait_finished, saltando gli stati relativi alla gestione del certificato; vengono così bypassati la validazione del percorso dei certificati, verify_fun, la verifica hostname, partial_chain, il controllo CRL e l'OCSP stapling. La configurazione client predefinita è interessata; i client limitati a TLS 1.2 non lo sono.
Questo problema interessa OTP da OTP 22.2 fino alla versione precedente a OTP 27.3.4.18, OTP 28.5.0.7 e OTP 29.1.1, corrispondenti a ssl dalla versione 9.5 fino alle versioni precedenti a 11.2.12.13, 11.6.0.6 e 11.7.7.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.