След шестимесечна разработка, публикуван е релиз OpenSSH 9.1, отворената реализация на клиент и сървър за работа с протоколите SSH 2.0 и SFTP. Изданието се характеризира основно с корекции на грешки, включително отстраняване на няколко потенциални уязвимости, причинени от проблеми с паметта:
- Однобайтово препълване в кода за обработка на SSH-банер в утилитата ssh-keyscan.
- Двоен повик на функцията free() при грешка при изчисление на хешовете за файлове в кода за създаване и проверка на цифрови подписи в утилитата ssh-keygen.
- Двоен повик на функцията free() при обработка на грешки в утилитата ssh-keysign.
Основни промени:
- В ssh и sshd е добавена директива RequiredRSASize, позволяваща да се определи минимално допустимият размер на RSA-ключовете. В sshd ключовете с по-малък размер ще бъдат игнорирани, а в ssh ще доведат до прекратяване на връзката.
- Портативната версия на OpenSSH е адаптирана да използва SSH-ключове за удостоверяване на цифровите подписи на комитите и таговете в Git.
- Директивите SetEnv в конфигурационните файлове ssh_config и sshd_config сега прилагат стойността от първото споменаване на променливата на средата, ако е определена многократно в конфигурацията (преди се прилагаше последното споменаване).
- При извикване на утилитата ssh-keygen с флага „-A” (генериране на всички поддържани по подразбиране типове хост ключове) е спрян генерирането на DSA ключове, които от години не се използват по подразбиране.
- В sftp-server и sftp е реализирано разширение „users-groups-by-id@openssh.com”, позволяващо на клиента да поиска имената на потребителите и групите, съответстващи на указан набор от цифрови идентификатори (uid и gid). В sftp това разширение е използвано за показване на имената при извеждане на съдържанието на директорията.
- В sftp-server е реализирано разширение „home-directory” за разкриване на пътища ~\/ и ~user\/, алтернативно на предложеното по-рано разширение „expand-path@openssh.com” (разширението „home-directory” е предложено за стандартизиране и вече се поддържа от някои клиенти).
- В ssh-keygen и sshd е добавена възможността за указване на време в часовата зона UTC при определяне на интервалите на валидност на сертификатите и ключовете, в допълнение към системното време.
- В sftp е разрешено указването на допълнителни аргументи в опцията „-D” (например, „/usr/libexec/sftp-server -el debug3”).
- В ssh-keygen е разрешено използването на флага «-U» (използване на ssh-agent) заедно с операциите «-Y sign», за да се определи, че затворените ключове са разположени в ssh-agent.
Източник: opennet.ru
