Il 18 dicembre tre ricercatori dell’Università della Ruhr di Bochum hanno presentato Terrapin, un attacco al protocollo SSH registrato come CVE-2023-48795. Non si tratta del bug di un singolo programma, ma di una debolezza nel modo in cui alcune combinazioni di cifratura gestiscono i numeri di sequenza dei pacchetti all’avvio della connessione.
Per sfruttarla l’attaccante deve trovarsi in mezzo alla connessione, per esempio su una rete Wi-Fi compromessa o su un router intermedio. Da lì può eliminare alcuni messaggi all’inizio della sessione cifrata, aggiustando i numeri di sequenza in modo che né il client né il server se ne accorgano. Il messaggio che interessa di più è quello con cui le due parti concordano le estensioni del protocollo: cancellandolo si degradano alcune protezioni. In OpenSSH, per esempio, si può disattivare la funzione che maschera i tempi di battitura dei tasti.
L’attacco funziona solo con due modalità di cifratura, entrambe molto diffuse:
- ChaCha20-Poly1305, cioè
chacha20-poly1305@openssh.com; - i cifrari CBC combinati con Encrypt-then-MAC, i MAC
*-etm@openssh.com.
Non permette di leggere i dati né di rubare credenziali, quindi il rischio pratico è basso. Però la scansione dei ricercatori dice che la maggior parte dei server SSH su Internet supporta almeno una delle modalità vulnerabili.
Strict kex, da entrambe le parti
OpenSSH 9.6, uscito lo stesso giorno dell’annuncio, introduce lo strict kex: durante lo scambio di chiavi non sono più tollerati messaggi inattesi e i numeri di sequenza vengono azzerati. La protezione funziona solo se client e server la supportano entrambi, quindi aggiornare il server e dimenticare il client sul portatile non basta. Anche PuTTY, libssh e molte altre librerie stanno rilasciando aggiornamenti.
Aggiorna OpenSSH sui server alla 9.6 o alla versione corretta della tua distribuzione, poi i client: PuTTY, WinSCP, le librerie SSH dei tuoi strumenti di automazione e i dispositivi di rete. In attesa delle correzioni puoi preferire AES-GCM, togliendo il cifrario con Ciphers -chacha20-poly1305@openssh.com ed eliminando i MAC -etm se usi cifrari CBC. Lo scanner pubblicato dai ricercatori ti dice in pochi secondi come sono configurati i tuoi server.
E se un attaccante può già mettersi in mezzo alla tua rete di amministrazione, Terrapin è l’ultimo dei tuoi problemi.



