A fost publicat lansarea OpenSSH 9.6, o implementare open-source a clientului și serverului pentru protocoalele SSH 2.0 și SFTP. În noua versiune au fost rezolvate trei probleme de securitate:
- O vulnerabilitate în protocolul SSH (CVE-2023-48795, atacul „Terrapin”), care permite, în cadrul unui atac MITM, revenirea la utilizarea unor algoritmi de autentificare mai puțin securizați și dezactivarea protecției împotriva atacurilor prin canale colaterale, care recreează introducerea prin analiza întârzierilor dintre apăsările de taste pe tastatură. Metoda de atac este detaliată într-o știre separată.
- O vulnerabilitate în utilitarul ssh, care permite substituirea comenzilor shell arbitrare prin manipularea valorilor de utilizator și gazdă, care conțin caractere speciale. Vulnerabilitatea poate fi exploatată dacă atacatorul controlează valorile de utilizator și numele gazdei transmise în ssh, directivele ProxyCommand și LocalCommand sau blocurile „match exec”, în care sunt specificate caracterele de substituție, cum ar fi %u și %h. De exemplu, un utilizator și o gazdă incorecte pot fi înlocuite în sistemele care folosesc submodule în Git, deoarece Git nu interzice specificarea caracterelor speciale în numele gazdei și al utilizatorului. O vulnerabilitate similară se manifestă și în libssh.
- O eroare în ssh-agent, din cauza căreia, atunci când se adaugă chei private PKCS#11, restricțiile se aplicau doar primei chei returnate de tokenul PKCS#11. Problema nu afectează cheile private obișnuite, tokenurile FIDO și cheile specificate fără restricții.
Celelalte modificări:
- În ssh a fost adăugată substituția „%j”, care se extinde la numele gazdei specificat prin directiva ProxyJump.
- În ssh a fost adăugată suportul pentru configurarea ChannelTimeout pe partea clientului, care poate fi utilizat pentru a încheia canalele inactive.
- În ssh, sshd, ssh-add și ssh-keygen a fost adăugată suportul pentru citirea cheilor private ED25519 în format PEM PKCS8 (anterior era acceptat doar formatul OpenSSH).
- În ssh și sshd a fost adăugat un extensie a protocolului pentru renegocierea algoritmilor de semnătură digitală pentru autentificare cu chei publice, efectuată în etapa după primirea datelor despre numele utilizatorului. De exemplu, prin extensie este posibil să se utilizeze selectiv alte algoritmi legate de utilizatori prin specificarea PubkeyAcceptedAlgorithms în blocul „Match user”.
- În ssh-add și ssh-agent a fost adăugat un extensor de protocol pentru specifarea certificatelor la încărcarea cheilor PKCS#11, ceea ce permite utilizarea certificatelor asociate cheilor private PKCS#11 în toate utilitarele OpenSSH care suportă ssh-agent, nu doar în ssh.
- A fost îmbunătățită identificarea vizibilă a flagurilor de compilare nesuportate sau instabile, cum ar fi „-fzero-call-used-regs” în clang.
- Pentru a limita privilegiile procesului sshd în versiunile OpenSolaris care suportă interfața getpflags(), a fost activat modul PRIV_XPOLICY în loc de PRIV_LIMIT.
Sursa: opennet.ro
