Dopo tre mesi di sviluppo, è stata pubblicata la versione OpenSSH 10.4, un'implementazione open source di client e server per protocolli SSH 2.0 e SFTP. Principali cambiamenti:
- Aggiunta la supporto sperimentale per lo schema combinato di generazione delle firme digitali «mldsa44-ed25519», che unisce l'algoritmo post-quantistico ML-DSA 44 e quello basato sulle curve ellittiche Ed25519. Per abilitare il supporto, occorre aggiungere «mldsa44-ed25519» alle direttive HostKeyAlgorithms e PubkeyAcceptedAlgorithms. Per generare le chiavi, è possibile utilizzare il comando «ssh-keygen -t mldsa44-ed25519».
- In ssh e sshd è stata implementata una nuova realizzazione del sistema di corrispondenza dei modelli, basata su un automa a stati finiti non deterministico, resistente al problema della crescita esponenziale della complessità dei calcoli quando si utilizzano maschere contenenti molti caratteri «*».
- Modificato il comportamento delle versioni di sshd per Linux con filtraggio delle chiamate di sistema attivato tramite seccomp. In precedenza, un errore nell'attivazione di SECCOMP o NO_NEW_PRIVS su sistemi Linux privi di supporto portava a una registrazione di un avviso nei log e alla continuazione dell'attività senza isolamento; ora comporterà un arresto anomalo.
- Utilizzando l'opzione «sshd -G», nel dump della configurazione, le direttive vengono ora registrate utilizzando lettere maiuscole e minuscole, invece di essere completamente in minuscolo (cioè «PubkeyAuthentication» invece di «pubkeyauthentication»).
- Il comportamento di ssh e sshd è stato adeguato agli standard RFC 4253: l'invio di messaggi non correlati allo scambio di chiavi durante il riesame della chiave ora comporterà la chiusura della connessione. In precedenza, gli aggressori potevano avviare un attacco DoS inviando all'infinito messaggi esterni durante il processo di scambio di chiavi, che venivano memorizzati in buffer server e consumavano memoria.
Risolti diversi problemi di sicurezza:
- Nell'utilità ssh è stato eliminato un potenziale accesso alla memoria dopo la sua liberazione (use-after-free) durante l'accesso a un file dannoso server. Il problema viene sfruttato modificando la chiave host durante il processo di riesame della chiave.
- Una vulnerabilità in sftp consente di caricare un file in una directory diversa accedendo a un server dannoso utilizzando il comando nella forma «sftp host:/path .».
- Una vulnerabilità in scp consente di copiare file tra due esterni server, uno dei quali è controllato dall'attaccante, organizzare la registrazione dei file nella directory genitore, che si trova un livello sotto la directory di destinazione.
- Risolto il problema in sshd, che si manifestava durante l'uso della propria implementazione del server SFTP ("internal-sftp"), disabilitata per impostazione predefinita. Il problema riguardava il taglio di lunghe sequenze nella riga di comando dopo 9 argomenti, portando all'ignoto di argomenti successivi. In questo modo, possono essere escluse opzioni relative alla sicurezza.
- In sshd è stata risolta una mancanza, per cui la direttiva "DisableForwarding=yes" non disabilitava la creazione di tunnel consentiti dall'opzione "PermitTunnel=yes" (non abilitata per impostazione predefinita).
- In sshd è stato risolto un problema che poteva essere utilizzato per avviare un attacco denial of service durante la fase precedente all'autenticazione quando la direttiva GSSAPIAuthentication era attivata nelle impostazioni (disabilitata per impostazione predefinita). Il problema non è bloccato dal limite "MaxAuthTries", ma rientra nei limiti delle "PerSourcePenalties".
- In sshd sono state risolte delle imperfezioni che a volte non consentivano di aggiungere il ritardo minimo tra i tentativi di autenticazione.
Fonte: opennet.ru
