|||

<\Hacker Alert>

Il repository italiano per la sicurezza informatica

HA-2020-72 dettagli noti:


Node.js: il riutilizzo della sessione TLS può comportare il bypass della verifica del nome host

La libreria TLS Node.js supporta il riutilizzo lato client delle sessioni TLS quando vengono aperte più connessioni allo stesso server.
Il codice che desidera utilizzare questa funzione può ascoltare l'evento 'session' ( https://nodejs.org/api/tls.html#tls_event_session) su un tls.TLSSocket per ricevere notifiche sulle sessioni TLS appena create. La documentazione per questo evento menziona esplicitamente che le sessioni passate "possono essere utilizzate immediatamente o successivamente".
Il problema con questo progetto è che gli eventi 'session' vengono attivati ​​anche se la verifica del nome host del certificato del server in onConnectSecure fallisce. ( https://github.com/nodejs/node/blob/b1d4c13430c92e94920f0c8c9ba1295c075c9e89/lib/_tls_wrap.js#L1502):
onConnectSecure è attivato dal callback di informazioni OpenSSL (con il flag SSL_CB_HANDSHAKE_DONE) dopo un handshake TLS. L'evento 'session' è attivato da OpenSSLs get_session_cb, che può verificarsi prima della richiamata delle informazioni in TLS 1.2 e successivamente in TLS 1.3 e che viene attivato indipendentemente dal risultato di onConnectSecure.
Ciò significa che le sessioni in cui il server ha presentato un certificato non valido, o uno con un nome host errato, attiveranno l'evento della sessione e potrebbero finire per essere riutilizzate o archiviate in una cache.
CVE-2020-8172

Fonte Categoria
https://hackerone.com/reports/811502 vulns

ChangeLog

Data di pubblicazione Ultimo aggiornamento
03-06-2020 15:25 11-06-2020 18:24

Proprietà

Punteggio attribuito
Prodotti coinvolti

HIGH: 8.9
Node.js