Релиз на OpenSSH 8.9 с отстраняване на уязвимост в sshd

След шестимесечна разработка, издадена е версия OpenSSH 8.9, отворената реализация на клиент и сървър за работа с протоколите SSH 2.0 и SFTP. В новата версия е отстранена уязвимост в sshd, която потенциално позволява достъп без удостоверяване. Проблемът е причинен от целочислено преливане в удостоверителния код, но експлоатацията му е възможна само в комбинация с други логически грешки в кода.

В текущия си вид уязвимостта не може да се използва, когато режимът на разделение на привилегиите е включен, тъй като проявленията й се блокират от отделни проверки, изпълнявани в кода за проследяване на разделението на привилегиите. Режимът на разделение на привилегиите е активиран по подразбиране от 2002 г. с OpenSSH 3.2.2 и е задължителен от издаването на OpenSSH 7.5, публикувано през 2017 г. Освен това, в преносимите версии на OpenSSH от версия 6.5 (2014 г.) уязвимостта се блокира при компилация с включени флагове за защита от целочислени преливания.

Други промени:

  • В преносимата версия на OpenSSH в sshd е премахната вградената поддръжка за хеширане на пароли с помощта на алгоритъма MD5 (за свързване се допуска използването на външни библиотеки, като libxcrypt).
  • В ssh, sshd, ssh-add и ssh-agent е реализирана подсистема за ограничаване на предаване и използване на ключове, добавени в ssh-agent. Подсистемата позволява задаване на правила, определящи как и къде могат да бъдат използвани ключовете в ssh-agent. Например, за добавяне на ключ, който може да се използва само за удостоверяване при свързване на всеки потребител с хоста scylla.example.org, потребителя perseus с хоста cetus.example.org и потребителя medea с хоста charybdis.example.org, със препращане през междинен хост scylla.example.org, можете да използвате следната команда: $ ssh-add -h «perseus@cetus.example.org» \ -h «scylla.example.org» \ -h «scylla.example.org>medea@charybdis.example.org» \ ~/.ssh/id_ed25519
  • В ssh и sshd в списъка KexAlgorithms, определящ реда на избор на методите за обмен на ключове, по подразбиране е добавен хибридният алгоритъм «sntrup761x25519-sha512@openssh.com» (ECDH/x25519 + NTRU Prime), устойчив на подбиране с квантови компютри. В версия OpenSSH 8.9 този метод за съгласие е добавен между методите ECDH и DH, но в следващата версия планират да го задействат по подразбиране.
  • В ssh-keygen, ssh и ssh-agent е подобрена обработката на ключове на FIDO-токени, използвани за удостоверяване на устройството, включително ключове за биометрична автентикация.
  • В ssh-keygen е добавена команда «ssh-keygen -Y match-principals» за проверка на имената на потребители в файла със списък на разрешените имена.
  • В ssh-add и ssh-agent е предоставена възможност за добавяне на FIDO-ключове с защитен PIN код в ssh-agent (запроса за PIN се извежда по време на автентикация).
  • В ssh-keygen е позволено да се избере алгоритъм за хеширане (sha512 или sha256) по време на формулирането на подписа.
  • В ssh и sshd за подобряване на производителността е осигурено директно четене на мрежови данни в буфера на входящите пакети, заобикаляйки междинното буфериране в стека. Аналогично е реализирано директното поставяне на получените данни в канала на буфера.
  • В ssh в директивата PubkeyAuthentication е разширен списъкът на поддържаните параметри (yes|no|unbound|host-bound), за да се предостави възможност за избор на използваното разширение на протокола.

В един от следващите версии се планира по подразбиране утилита scp да премине на използване на SFTP вместо остарелия протокол SCP/RCP. В SFTP се прилагат по-предсказуеми методи за обработка на имената и не се използва обработка на glob-шаблони в имената на файловете през shell на друг хост, което създава проблеми със сигурността. По-специално, когато се прилага SCP и RCP, сървърът взема решение за това кои файлове и директории да изпрати на клиента, а клиентът просто проверява верността на върнатите имена на обекти, което при липса на адекватни проверки от страна на клиента позволява сървър да предадете други имена на файлове, различни от запитаните. Протоколът SFTP е лишен от посочените проблеми, но не поддържа разкриване на специални пътища, като например «~/.». За да се преодолее това отличие, в предишното издание на OpenSSH беше предложено ново разширение на SFTP протокола за разкриване на пътища ~ и ~user/.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster