Po šiestich mesiacoch vývoja bol predstavený release OpenSSH 8.9, otvorenej implementácie klienta a servera pre prácu s protokolmi SSH 2.0 a SFTP. V novej verzii bola v sshd odstránená zraniteľnosť, ktorá potenciálne umožňovala prístup bez autentifikácie. Problém bol spôsobený pretečením celého čísla v autentifikačnom kóde, ale zneužitie je možné len v kombinácii s inými logickými chybami v kóde.
V súčasnej podobe nie je zraniteľnosť zneužiteľná pri zapnutí režimu rozdelenia privilégií, pretože jej prejavy sú blokované samostatnými kontrolami vykonávanými v kóde sledovania rozdelenia privilégií. Režim rozdelenia privilégií bol aktivovaný predvolene v roku 2002, počínajúc OpenSSH 3.2.2, a je povinný od vydania OpenSSH 7.5, publikovaného v roku 2017. Okrem toho je v prenosných verziách OpenSSH od vydania 6.5 (2014) zraniteľnosť zablokovaná kompiláciou s aktívnymi ochrannými flags proti pretečeniu celého čísla.
Ďalšie zmeny:
- V prenosnej verzii OpenSSH bola v sshd odstránená vnútorná podpora hashovania hesiel pomocou algoritmu MD5 (na vrátenie je povolené prepojenie s externými knihovnami, ako je libxcrypt).
- V ssh, sshd, ssh-add a ssh-agent bola implementovaná podsústava na obmedzenie presmerovania a používania kľúčov pridaných do ssh-agenta. Podsústava umožňuje nastaviť pravidlá, ktoré určujú, ako a kde je možné kľúče v ssh-agente používať. Napríklad, na pridanie kľúča, ktorý môže byť použitý iba na autentifikáciu pri pripojení akéhokoľvek používateľa k hostiteľovi scylla.example.org, používateľa perseus k hostiteľovi cetus.example.org a používateľa medea k hostiteľovi charybdis.example.org s presmerovaním cez medzihost scylla.example.org, môžete použiť nasledujúci príkaz: $ ssh-add -h „perseus@cetus.example.org“ \ -h „scylla.example.org“ \ -h „scylla.example.org>medea@charybdis.example.org“ \ ~/.ssh/id_ed25519
- V ssh a sshd bol do zoznamu KexAlgorithms, ktorý určuje poradie výberu metód výmeny kľúčov, predvolene pridaný hybridný algoritmus „sntrup761x25519-sha512@openssh.com“ (ECDH/x25519 + NTRU Prime), odolný voči útokom kvantových počítačov. V verzii OpenSSH 8.9 bola táto metóda vyjednávania pridaná medzi metódy ECDH a DH, ale v ďalšom vydaní ju plánujú angažovať predvolene.
- V ssh-keygen, ssh a ssh-agent bola vylepšená správa kľúčov FIDO-tokenov, ktoré sa používajú na overenie zariadenia vrátane kľúčov pre biometrickú autentifikáciu.
- Do ssh-keygen bola pridaná príkaz 'ssh-keygen -Y match-principals' na overenie mien používateľov v súbore so zoznamom povolených mien.
- V ssh-add a ssh-agent bola pridaná možnosť pridávania FIDO kľúčov chránených PIN kódom do ssh-agenta (žiadosť o PIN sa zobrazuje počas autentifikácie).
- V ssh-keygen je povolený výber hashovacieho algoritmu (sha512 alebo sha256) pri vytváraní podpisu.
- V ssh a sshd pre zvýšenie výkonu bolo implementované priame čítanie sieťových dát do vyrovnávacej pamäte prichádzajúcich paketov, pričom sa obchádza medzivrstvové vyrovnávanie v zásobníku. Podobne bolo realizované priame umiestnenie prijatých dát do kanálovej vyrovnávacej pamäte.
- V ssh bola v direktíve PubkeyAuthentication rozšírená podpora parametrov (yes|no|unbound|host-bound) na poskytnutie možnosti výberu variantu používaného rozšírenia protokolu.
V jednej z nasledujúcich verzií sa plánuje prepnúť predvolene utilitu scp na používanie SFTP namiesto zastaraného protokolu SCP/RCP. V SFTP sa používajú predvídateľnejšie metódy správy mien a nezahŕňajú spracovanie glob-vzorcov v názvoch súborov cez shell na strane druhého hostiteľa, čo vytvára bezpečnostné problémy. Konkrétne pri použití SCP a RCP server rozhoduje, ktoré súbory a adresáre poslať klientovi, pričom klient iba kontroluje správnosť vrátených mien objektov, čo v prípade absencie riadnych kontrol na strane klienta umožňuje serveru odovzdanie iných názvov súborov, ktoré sa líšia od požadovaných. Protokol SFTP nemá tieto problémy, ale nepodporuje odhaľovanie špeciálnych ciest, ako je '~/'. Na odstránenie tohto rozdielu bola v poslednom vydaní OpenSSH navrhnutá nová extenzívna metóda protokolu SFTP na odhaľovanie ciest ~/ a ~user/.
Zdroj: opennet.ru
