Vydání OpenSSH 8.3 s opravou zranitelnosti scp

Po třech měsících vývoje prezentovány uvolnění OpenSSH 8.3, otevřená implementace klienta a serveru pro práci přes protokoly SSH 2.0 a SFTP.

Nová verze přidává ochranu proti útokům scp, která umožňuje serveru předávat jiná jména souborů, než jsou požadovaná (na rozdíl od minulá zranitelnost, útok neumožňuje změnit uživatelem vybraný adresář nebo masku glob). Připomeňme, že v SCP server rozhoduje, které soubory a adresáře má odeslat klientovi, a klient pouze kontroluje správnost vrácených názvů objektů. Podstatou zjištěného problému je, že pokud selže systémové volání utime, obsah souboru je interpretován jako metadata souboru.

Tuto funkci při připojování k serveru ovládanému útočníkem lze použít k uložení jiných názvů souborů a dalšího obsahu do FS uživatele při kopírování pomocí scp v konfiguracích, které vedou k selhání při volání utime (například když je utime zakázáno zásada SELinux nebo filtr systémových volání). Pravděpodobnost skutečných útoků se odhaduje jako minimální, protože v typických konfiguracích volání utime neselže. Útok navíc nezůstane bez povšimnutí – při volání scp se zobrazí chyba přenosu dat.

Obecné změny:

  • V sftp bylo zpracování argumentu „-1“ zastaveno, podobně jako u ssh a scp, které byly dříve akceptovány, ale ignorovány;
  • V sshd při použití IgnoreRhosts jsou nyní tři možnosti: "yes" - ignorovat rhosts/shosts, "no" - respektovat rhosts/shosts a "shosts-only" - povolit ".shosts", ale zakázat ".rhosts";
  • Ssh nyní podporuje substituci %TOKEN v nastavení LocalFoward a RemoteForward používaných k přesměrování Unixových soketů;
  • Povolit načítání veřejných klíčů z nešifrovaného souboru pomocí soukromého klíče, pokud neexistuje samostatný soubor s veřejným klíčem;
  • Pokud je v systému přítomno libcrypto, ssh a sshd nyní používají implementaci algoritmu chacha20 z této knihovny namísto vestavěné přenosné implementace, která zaostává ve výkonu;
  • Implementována možnost výpisu obsahu binárního seznamu odvolaných certifikátů při provádění příkazu „ssh-keygen -lQf /path“;
  • Přenosná verze implementuje definice systémů, ve kterých signály s volbou SA_RESTART přerušují operaci select;
  • Řešené problémy s montáží na systémech HP/UX a AIX;
  • Opraveny problémy s budováním sandboxu seccomp v některých konfiguracích Linuxu;
  • Vylepšená detekce knihovny libfido2 a vyřešené problémy se sestavením s volbou "--with-security-key-builtin".

Vývojáři OpenSSH také znovu varovali před hrozícím rozkladem algoritmů využívajících hash SHA-1 kvůli povýšení efektivita kolizních útoků s daným prefixem (náklady na výběr kolize se odhadují na cca 45 tisíc dolarů). V jedné z nadcházejících verzí plánují ve výchozím nastavení deaktivovat možnost používat algoritmus digitálního podpisu s veřejným klíčem „ssh-rsa“, který je zmíněn v původním RFC pro protokol SSH a v praxi zůstává rozšířený (pro testování použití ssh-rsa ve vašich systémech, můžete se zkusit připojit přes ssh s volbou „-oHostKeyAlgorithms=-ssh-rsa“).

Pro hladký přechod na nové algoritmy v OpenSSH bude v budoucí verzi standardně povoleno nastavení UpdateHostKeys, které automaticky migruje klienty na spolehlivější algoritmy. Mezi doporučené algoritmy pro migraci patří rsa-sha2-256/512 založené na RFC8332 RSA SHA-2 (podporované od OpenSSH 7.2 a používané ve výchozím nastavení), ssh-ed25519 (podporované od OpenSSH 6.5) a ecdsa-sha2-nistp256/384/521 na RFC5656 ECDSA (podporováno od OpenSSH 5.7).

Od poslední verze byly "ssh-rsa" a "diffie-hellman-group14-sha1" odstraněny ze seznamu CASignatureAlgorithms, který definuje algoritmy, které mohou digitálně podepisovat nové certifikáty, protože použití SHA-1 v certifikátech představuje další riziko. díky tomu má útočník neomezený čas na hledání kolize pro existující certifikát, zatímco doba útoku na hostitelské klíče je omezena časovým limitem spojení (LoginGraceTime).

Zdroj: opennet.ru

Přidat komentář