Hat hónapos fejlesztés után bemutatásra került az OpenSSH 8.9, a SSH 2.0 és SFTP protokollokhoz készült nyílt kliens és szerver implementációja. Az új verzióban az sshd-ben javították az a sebezhetőséget, amely potenciálisan hozzáférést tesz lehetővé hitelesítés nélkül. A probléma egy egész szám túlcsordulásából ered az autentikálási kódban, de a kihasználás csak más logikai hibák együttese mellett lehetséges a kódban.
A jelenlegi formájában a sebezhetőség nem kiaknázott, ha a jogosultságmegosztási mód be van kapcsolva, mivel megnyilvánulását külön ellenőrzések akadályozzák meg, amelyeket a jogosultságmegosztási kód végez. A jogosultságmegosztási mód alapértelmezés szerint 2002 óta aktív, az OpenSSH 3.2.2 óta, és kötelező az OpenSSH 7.5 kiadás óta, amely 2017-ben jelent meg. Ezen kívül a hordozható OpenSSH-verziók 6.5-ös verziótól (2014) a sebezhetőség már a túlcsordulás elleni védelmi jelzők bekapcsolásával le van blokkolva.
Egyéb változások:
- A hordozható OpenSSH-ben az sshd-ben eltávolították a jelszavak MD5 algoritmus általi hashelésének beépített támogatását (a visszatéréshez külső könyvtárakkal, például libxcrypt-tel való összekapcsolás engedélyezett).
- Az ssh, sshd, ssh-add és ssh-agent programokban megvalósították azt a rendszert, amely korlátozza az ssh-agentbe hozzáadott kulcsok továbbitását és használatát. A rendszer szabályok megadását teszi lehetővé, amelyek meghatározzák, hogyan és hol lehet használni a kulcsokat az ssh-agent-ben. Például, ha egy kulcsot szeretnénk hozzáadni, amely csak hitelesítésre használható bármely felhasználóhoz való csatlakozáskor a scylla.example.org hosthoz, perseus a cetus.example.org-hoz és medea a charybdis.example.org-hoz az alábbi paranccsal: $ ssh-add -h "perseus@cetus.example.org" \ -h "scylla.example.org" \ -h "scylla.example.org>medea@charybdis.example.org" \ ~\/.ssh\/id_ed25519
- Az ssh és sshd esetében a KexAlgorithms listához, amely meghatározza a kulcsegyesítő módszerek kiválasztási sorrendjét, alapértelmezetten hozzáadódott a hibrid "sntrup761x25519-sha512@openssh.com" algoritmus (ECDH/x25519 + NTRU Prime), amely ellenáll a kvantumszámítógépek támadásainak. Az OpenSSH 8.9-es verzióban ez a megállapodási mód az ECDH és DH módszerek között került bevezetésre, de a következő kiadásban alapértelmezettként tervezik alkalmazni.
- Az ssh-keygen, ssh és ssh-agent javították a FIDO-tokenek kezelését, melyek az eszköz azonosításához használtak, beleértve a biometrikus azonosításhoz szükséges kulcsokat.
- Az ssh-keygen programhoz hozzáadva az 'ssh-keygen -Y match-principals' parancs a felhasználónevek ellenőrzésére a megengedett nevek listájában.
- Az ssh-add és ssh-agent lehetővé teszi FIDO-kulcsok PIN-kóddal védett hozzáadását az ssh-agenthez (a PIN-kódot az azonosítás során kérik).
- Az ssh-keygen programban lehetőség van hash algoritmus (sha512 vagy sha256) kiválasztására az aláírás létrehozásakor.
- Az ssh és sshd teljesítményjavítása érdekében a hálózati adatok közvetlenül a bejövő csomagok puffereibe kerülnek, megkerülve a közbenső puffert a veremben. Hasonlóan valósították meg a beérkező adatok közvetlen elhelyezését a csatornapufferben.
- Az ssh-ben a PubkeyAuthentication direktívában kibővítették a támogatott paraméterek listáját (yes|no|unbound|host-bound), hogy lehetőséget biztosítsanak a használt protokoll-kiterjesztés kiválasztására.
A következő kiadásokban várható, hogy az scp utilitás alapértelmezettként SFTP-re vált a régi SCP/RCP protokoll helyett. Az SFTP előre meghatározott módszereket alkalmaz a fájlnevek kezelésére, és nem használ glob-minták feldolgozását a háttérben lévő másik gépen, ami biztonsági problémákat okoz. Különösen az SCP és RCP alkalmazásakor a szerver dönt arról, hogy mely fájlokat és könyvtárakat küldje el az ügyfélnek, míg az ügyfél csupán ellenőrzi a visszaadott objektumok neveinek helyességét, ami megfelelő ellenőrzések hiányában lehetővé teszi szerverhez más fájlnevek átadását, amelyek eltérnek az igényelt nevektől. Az SFTP protokoll mentes a fent említett problémáktól, de nem támogatja a speciális útvonalak, mint a '~/‘' felfedését. E különbség megszüntetésére a legutóbbi OpenSSH kiadásban új protokoll kiterjesztést javasoltak az SFTP szerver implementációban a '~/‘' és '~user/’' útvonalak felfedésére.
Forrás: opennet.ru
