După șase luni de dezvoltare, a fost lansată versiunea OpenSSH 10.3, o implementare open-source a clientului și server a protocolului pentru SSH 2.0 și SFTP. Principalele modificări sunt:
- A fost remediată o vulnerabilitate care permitea unui atacator, controlând numele de utilizator transmis la pornirea utilitarului ssh, să obțină potențial executarea de comenzi shell arbitrare. Vulnerabilitatea apare în sistemele care folosesc substituția „%u” în unele directive din fișierul de configurare, cum ar fi „Match exec”. Problema este cauzată de verificarea caracterelor speciale în numele de utilizator în etapa de după executarea substituțiilor în fișierul ssh_config.
- A fost remediată o problemă de securitate în sshd, cauzată de corelarea incorectă a opțiunii authorized_keys principals=„” cu lista de nume (principal) din certificat în situația în care numele conțin caracterul „,”. Pentru a exploata vulnerabilitatea, este necesar ca în opțiunea authorized_keys principals=„” să fie specificate mai multe nume și ca autoritatea de certificare să emită un certificat cu mai multe nume, separate prin virgulă (ceea ce de obicei nu este permis). Comportamentul în ceea ce privește certificatele cu nume gol a fost modificat - anterior, un nume gol se încadra sub toate opțiunile authorized_keys principals=„”, dar acum nu se mai încadrează.
- În scp a fost remediată o problemă care făcea ca, după încărcarea unui fișier cu privilegii root cu opțiunea „-O” și fără opțiunea „-p”, flagurile setuid/setgid să nu fie curățate.
- În sshd a fost corectată o problemă cu gestionarea cheilor ECDSA în directivele PubkeyAcceptedAlgorithms și HostbasedAcceptedAlgorithms, care făcea ca, în cazul în care era specificat orice algoritm ECDSA (de exemplu, „ecdsa-sha2-nistp384”), să fie acceptate și toate celelalte algoritme bazate pe ECDSA, chiar dacă nu erau enumerate explicit în lista de permise.
- În ssh și sshd, în interacțiunea cu agenții SSH, a fost adăugată suportul pentru identificatori (codepoint) definiți de IANA în specificația draft-ietf-sshm-ssh-agent. Suportul pentru identificatorii anterior utilizați de tip „@openssh.com” a fost păstrat.
- În ssh-agent a fost implementat extensia „query”, definită în specificația draft-ietf-sshm-ssh-agent, care permite determinarea funcțiilor suportate de agent. Pentru a solicita lista extensiilor de protocol acceptate prin interogarea „query”, a fost adăugată opțiunea „-Q” în utilitarul ssh-add.
- În sshd_config a fost permisă specificarea mai multor fișiere în directiva RevokedKeys, iar în ssh_config - în directiva RevokedHostKeys.
- În ssh a fost adăugată comanda de escape «~I» și opțiunea «-O conninfo» pentru a afișa informații despre conexiunea curentă, precum și opțiunea «-O channels» pentru a arăta informațiile despre canalele deschise.
- În sshd, în directiva PerSourcePenalties, a fost implementată opțiunea ‘invaliduser’ pentru a adăuga întârzieri în cazul încercărilor de autentificare cu un utilizator inexistent (în mod implicit 5 secunde). A fost adăugată posibilitatea de a specifica valori non-integer pentru întârziere.
- În sshd a fost adăugată opțiunea GSSAPIDelegateCredentials pentru a gestiona acceptarea acreditivelor delegate furnizate de client.
- În ssh-keygen a fost adăugată suportul pentru înregistrarea cheilor ED25519 în format PKCS8.
- A fost adăugat suport pentru schema de semnături digitale ed25519, implementată prin libcrypto.
Sursa: opennet.ro
