La versione OpenSSH 8.3 corregge la vulnerabilità scp

Dopo tre mesi di sviluppo presentata rilasciare OpenSSH 8.3, un'implementazione client e server aperta per lavorare tramite i protocolli SSH 2.0 e SFTP.

La nuova versione aggiunge protezione contro gli attacchi scp che consentono al server di passare nomi di file diversi da quelli richiesti (al contrario di vulnerabilità passata, l'attacco non consente di modificare la directory selezionata dall'utente o la maschera glob). Ricordiamo che in SCP il server decide quali file e directory inviare al client e il client controlla solo la correttezza dei nomi degli oggetti restituiti. L'essenza del problema identificato è che se la chiamata di sistema utimes fallisce, il contenuto del file viene interpretato come metadati del file.

Questa funzionalità, quando ci si connette a un server controllato da un utente malintenzionato, può essere utilizzata per salvare altri nomi di file e altri contenuti nel FS dell'utente durante la copia utilizzando scp in configurazioni che portano a errori durante la chiamata di utimes (ad esempio, quando utimes è proibito da la policy SELinux o il filtro delle chiamate di sistema). Si stima che la probabilità di attacchi reali sia minima, poiché nelle configurazioni tipiche la chiamata utimes non fallisce. Inoltre, l'attacco non passa inosservato: quando si chiama scp viene visualizzato un errore di trasferimento dei dati.

Modifiche generali:

  • In sftp, l'elaborazione dell'argomento “-1” è stata interrotta, analogamente a ssh e scp, che in precedenza era accettato ma ignorato;
  • In sshd, quando si utilizza IgnoreRhosts, ora ci sono tre scelte: "yes" - ignora rhosts/shosts, "no" - rispetta rhosts/shosts e "shosts-only" - consente ".shosts" ma disabilita ".rhosts";
  • Ssh ora supporta la sostituzione %TOKEN nelle impostazioni LocalFoward e RemoteForward utilizzate per reindirizzare i socket Unix;
  • Consentire il caricamento delle chiavi pubbliche da un file non crittografato con una chiave privata se non esiste un file separato con la chiave pubblica;
  • Se libcrypto è disponibile nel sistema, ssh e sshd ora utilizzano l'implementazione dell'algoritmo chacha20 di questa libreria, invece dell'implementazione portatile integrata, che è in ritardo in termini di prestazioni;
  • Implementata la possibilità di eseguire il dump del contenuto di un elenco binario di certificati revocati durante l'esecuzione del comando “ssh-keygen -lQf /path”;
  • La versione portatile implementa definizioni di sistemi in cui i segnali con l'opzione SA_RESTART interrompono l'operazione di select;
  • Risolti problemi di assemblaggio su sistemi HP/UX e AIX;
  • Risolti problemi con la creazione di sandbox seccomp su alcune configurazioni Linux;
  • Migliorato il rilevamento della libreria libfido2 e risolti i problemi di build con l'opzione "--with-security-key-builtin".

Gli sviluppatori di OpenSSH hanno anche messo in guardia ancora una volta dall'imminente decomposizione degli algoritmi che utilizzano hash SHA-1 a causa di promozione l'efficacia degli attacchi di collisione con un determinato prefisso (il costo per la selezione di una collisione è stimato in circa 45mila dollari). In una delle prossime versioni, si prevede di disabilitare per impostazione predefinita la possibilità di utilizzare l'algoritmo di firma digitale a chiave pubblica “ssh-rsa”, che è menzionato nell'RFC originale per il protocollo SSH e rimane diffuso nella pratica (per testare l'uso di ssh-rsa nei vostri sistemi, potete provare a connettervi via ssh con l'opzione “-oHostKeyAlgorithms=-ssh-rsa”).

Per facilitare la transizione ai nuovi algoritmi in OpenSSH, in una versione futura l'impostazione UpdateHostKeys sarà abilitata per impostazione predefinita, che migrerà automaticamente i client ad algoritmi più affidabili. Gli algoritmi consigliati per la migrazione includono rsa-sha2-256/512 basato su RFC8332 RSA SHA-2 (supportato da OpenSSH 7.2 e utilizzato per impostazione predefinita), ssh-ed25519 (supportato da OpenSSH 6.5) e basato su ecdsa-sha2-nistp256/384/521 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 firmare digitalmente nuovi certificati, poiché l'utilizzo di SHA-1 nei certificati comporta un rischio aggiuntivo per questo motivo l'aggressore ha un tempo illimitato per cercare una collisione per un certificato esistente, mentre il tempo di attacco alle chiavi host è limitato dal timeout della connessione (LoginGraceTime).

Fonte: opennet.ru

Aggiungi un commento