Dopo tre mesi di sviluppo rilascio , implementazione open source di client e server per il funzionamento sui protocolli SSH 2.0 e SFTP.
Nella nuova versione è stata aggiunta una protezione contro gli attacchi a scp, che consente al server di inviare nomi di file diversi da quelli richiesti (a differenza della , l'attacco non consente di cambiare la directory o la maschera glob selezionata dall'utente). Ricordiamo che in SCP il server decide quali file e directory inviare al client, mentre il client verifica solo la correttezza dei nomi degli oggetti restituiti. Il problema identificato consiste nel fatto che se la chiamata di sistema utimes termina con un errore, il contenuto del file viene interpretato come metadati del file.
Questa caratteristica, quando ci si connette a un server controllato da un attaccante, può essere sfruttata per salvare nel filesystem dell'utente nomi di file diversi e contenuto diverso durante la copia utilizzando scp in configurazioni che portano a un errore nella chiamata di utimes (ad esempio, a causa del divieto di utimes imposto dalla politica SELinux o da un filtro di chiamate di sistema). La probabilità che vengano effettuati attacchi reali è valutata come minima, poiché nelle configurazioni tipiche la chiamata di utimes non termina con un errore. Inoltre, l'attacco non passa inosservato: quando si chiama scp, viene mostrato un errore di trasferimento dati.
Modifiche generali:
- In sftp è stata interrotta l'elaborazione dell'argomento «-1» analogamente a ssh e scp, che in precedenza era accettato ma ignorato;
- In sshd, utilizzando IgnoreRhosts, ora sono disponibili tre opzioni: «yes» — ignorare rhosts/shosts, «no» — considerare rhosts/shosts e «shosts-only» — consentire «.shosts», ma vietare «.rhosts»;
- In ssh è garantita l'elaborazione della sostituzione %TOKEN nelle impostazioni LocalFoward e RemoteForward, utilizzate per reindirizzare i socket Unix;
- Consentita la lettura delle chiavi pubbliche da file non crittografati contenenti la chiave privata, se non è presente un file separato con la chiave pubblica;
- Se nel sistema è presente libcrypto, ora ssh e sshd utilizzano l'implementazione dell'algoritmo chacha20 da questa libreria, invece dell'implementazione portatile incorporata che è meno performante;
- Implementata la possibilità di eseguire il dump del contenuto dell'elenco binario dei certificati revocati utilizzando il comando «ssh-keygen -lQf /path»;
- Nella versione portatile è stata implementata l'identificazione dei sistemi in cui i segnali con l'opzione SA_RESTART interrompono l'esecuzione di select;
- Risolti problemi di compilazione nei sistemi HP/UX e AIX;
- Risolviti problemi di compilazione della sandbox seccomp in alcune configurazioni di Linux;
- Migliorata l'identificazione della libreria libfido2 e risolti problemi di compilazione con l'opzione «—with-security-key-builtin».
Gli sviluppatori di OpenSSH hanno ancora una volta avvisato del prossimo declassamento degli algoritmi che utilizzano hash SHA-1, in relazione a dell'efficacia degli attacchi di collisione con prefisso specificato (il costo di generare una collisione è stimato a circa 45.000 dollari). In una delle prossime versioni, si prevede di disabilitare di default la possibilità di utilizzare l'algoritmo di firma digitale con chiave pubblica «ssh-rsa», che è menzionato nell'RFC originale per il protocollo SSH e rimane ampiamente diffuso nella pratica (per verificare l'utilizzo di ssh-rsa nei propri sistemi, è possibile provare a connettersi tramite SSH con l'opzione «-oHostKeyAlgorithms=-ssh-rsa»).
Per facilitare la transizione verso i nuovi algoritmi, in una delle prossime versioni di OpenSSH verrà abilitata per impostazione predefinita l'impostazione UpdateHostKeys, che consentirà la migrazione automatica dei client verso algoritmi più sicuri. Tra gli algoritmi raccomandati per la migrazione sono stati menzionati rsa-sha2-256/512 basati su RFC8332 RSA SHA-2 (supportato da OpenSSH 7.2 e utilizzato per impostazione predefinita), ssh-ed25519 (supportato da OpenSSH 6.5) e ecdsa-sha2-nistp256/384/521 basati su RFC5656 ECDSA (supportato da OpenSSH 5.7).
A partire dall'ultima versione, «ssh-rsa» e «diffie-hellman-group14-sha1» sono stati rimossi dall'elenco CASignatureAlgorithms, che definisce gli algoritmi consentiti per la firma digitale di nuovi certificati, poiché l'uso di SHA-1 nei certificati comporta rischi aggiuntivi a causa del fatto che un attaccante ha tempo illimitato per cercare collisioni per un certificato esistente, mentre il tempo d'attacco sui key host è limitato dal timeout di connessione (LoginGraceTime).
Fonte: opennet.ru
