След три месеца разработка, публикувана версия OpenSSH 10.4, отворената реализация на клиент и сървър за работа с протоколите SSH 2.0 и SFTP. Основни промени:
- Добавена е експериментална поддръжка на комбинираната схема за формиране на цифрови подписи „mldsa44-ed25519“, комбинираща постквантовия алгоритъм ML-DSA 44 и алгоритъм на база елиптични криви Ed25519. За включване на поддръжката трябва да добавите „mldsa44-ed25519“ в директивите HostKeyAlgorithms и PubkeyAcceptedAlgorithms. За генериране на ключове можете да използвате командата „ssh-keygen -t mldsa44-ed25519“.
- В ssh и sshd е внедрена нова реализация на системата за съпоставяне по шаблон, основана на недетерминиран краен автомат и неподвластна на проблема с експоненциалния ръст на сложността на изчисленията при използване на маски, съдържащи множество символи „*“.
- Променено е поведението на Linux версиите на sshd с включена филтрация на системните повиквания чрез seccomp. По-рано, срив при активиране на SECCOMP или NO_NEW_PRIVS на Linux системи без тяхната поддръжка водеше до запис в лог с предупреждение и продължаване на работа без изолация, а сега ще води до аварийно спиране.
- При използване на опцията „sshd -G“ в дампа на конфигурацията, директивите сега се записват с използване на главни и малки букви, вместо да се записват само с малки букви (т.е. „PubkeyAuthentication“ вместо „pubkeyauthentication“).
- Поведението на ssh и sshd е приведено в съответствие със стандарта RFC 4253: изпращането по време на повторно обменяне на ключове на съобщения, ненасочени към обмена на ключове, сега ще доведе до приключване на връзката. По-рано, злоумышленик може да организира DoS атака, безкрайно изпращайки странични съобщения в процеса на обмен на ключове, които се буферираха в сървър и изразходваха памет.
Отстранени са няколко проблема със сигурността:
- В утилитата ssh е отстранен потенциален достъп до памет след нейното освобождаване (use-after-free), при достъп до злонамерено сървъра. Проблемът се експлоатира чрез изменение на хостовия ключ в процеса на повторно обменяне на ключове.
- Уязвимост в sftp, позволяваща организиране на качване на файл в друга директория при достъп до злонамерен сървър, използвайки команда във формата „sftp host:/path .“.
- Уязвимост в scp, позволяваща при копиране на файлове между два външни сървъри, един от които е контролирано от атакуващия, да организират запис на файлове в родителската директория, разположена на ниво по-долу от целевата директория.
- Проблемът в sshd, проявяващ се при използването на вътрешната реализация на SFTP сървър («internal-sftp»), който по подразбиране е деактивиран, е разрешен. Проблемът е свързан с отрязването на дълги последователности в командния ред след 9 аргумента, което води до отхвърляне на следващите аргументи. Така потенциално могат да бъдат отхвърлени опции, свързани с осигуряване на сигурността.
- В sshd е отстранена недоизменка, поради която директивата «DisableForwarding=yes» не деактивираше възможността за създаване на тунели, разрешени с опцията «PermitTunnel=yes» (по подразбиране не е зададена).
- В sshd е разрешен проблем, който може да се използва за инициране на отказ в обслужването на етапа преди успешна автентикация при активиране на директивата GSSAPIAuthentication (по подразбиране е деактивирана). Проблемът не е блокиран чрез лимита «MaxAuthTries», но попада под действие на ограничението «PerSourcePenalties».
- В sshd са отстранени недоизменки, поради които не винаги се добавяше минимално закъснение между опитите за автентикация.
Източник: opennet.ru
