После трёх месяцев разработки релиз , открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP.
В новом выпуске добавлена защита от атаки на scp, позволяющей серверу передать другие имена файлов, отличающиеся от запрошенных (в отличие от , атака не даёт возможность сменить выбранный пользователем каталог или glob-маску). Напомним, что в SCP сервер принимает решение о том, какие файлы и каталоги отправить клиенту, а клиент лишь проверяет корректность возвращённых имён объектов. Суть выявленной проблемы в том, что если системный вызов utimes завершается ошибкой, то содержимое файла интерпретируется как метаданные файла.
Данная особенность при подключении к серверу, подконтрольному злоумышленнику, может использоваться для сохранения в ФС пользователя других имён файлов и другого содержимого при копировании при помощи scp в конфигурациях, приводящих к сбою при вызове utimes (например, при запрете utimes политикой SELinux или фильтром системных вызовов). Вероятность проведения реальных атак оценивается как минимальная, так как в типичных конфигурациях вызов utimes не завершается сбоем. Кроме того, атака не проходит незаметно — при вызове scp показывается ошибка передачи данных.
Общие изменения:
- В sftp прекращена обработка аргумента «-1» по аналогии с ssh и scp, который раньше принимался, но игнорировался;
- В sshd при использовании IgnoreRhosts теперь предоставляется три варианта выбора: «yes» — игнорировать rhosts/shosts, «no» — учесть rhosts/shosts и «shosts-only» — разрешить «.shosts», но запретить «.rhosts»;
- В ssh обеспечена обработка подстановки %TOKEN в настройках LocalFoward и RemoteForward, используемых для перенаправления Unix-сокетов;
- Разрешена загрузки открытых ключей из незашифрованного файла с приватным ключом, если отсутствует отдельный файл с открытым ключом;
- При наличии в системе libcrypto в ssh и sshd теперь использует реализацию алгоритма chacha20 из данной библиотеки, вместо встроенной переносимой реализации, которая отстаёт по производительности;
- Реализована возможность дампа содержимого бинарного списка отозванных сертификатов при выполнении команды «ssh-keygen -lQf /path»;
- В переносимой версии реализовано определения систем, в которых сигналы с опцией SA_RESTART прерывают работу select;
- Решены проблемы со сборкой в системах HP/UX и AIX;
- Устранены проблемы со сборкой seccomp sandbox в некоторых конфигурациях Linux;
- Улучшено определение библиотеки libfido2 и решены проблемы со сборкой с опцией «—with-security-key-builtin».
Разработчики OpenSSH также в очередной раз предупредили о грядущем переводе в разряд устаревших алгоритмов, использующих хеши SHA-1, в связи с эффективности коллизионных атак с заданным префиксом (стоимость подбора коллизии оценивается примерно в 45 тысяч долларов). В одном из ближайших выпусков планируют отключить по умолчанию возможность использования алгоритма цифровых подписей по открытому ключу «ssh-rsa», который упоминается в оригинальном RFC для протокола SSH и остаётся широко распространённым на практике (для проверки применения ssh-rsa в своих системах можно попробовать подключиться по ssh с опцией «-oHostKeyAlgorithms=-ssh-rsa»).
Для сглаживания перехода на новые алгоритмы в OpenSSH в одном из следующих выпусков по умолчанию будет включена настройка UpdateHostKeys, которая позволит автоматически перевести клиентов на более надёжные алгоритмы. Среди рекомендуемых для миграции алгоритмов упомянуты rsa-sha2-256/512 на базе RFC8332 RSA SHA-2 (поддерживается с OpenSSH 7.2 и используется по умолчанию), ssh-ed25519 (поддерживается с OpenSSH 6.5) и ecdsa-sha2-nistp256/384/521 на базе RFC5656 ECDSA (поддерживается с OpenSSH 5.7).
Начиная с прошлого выпуска «ssh-rsa» и «diffie-hellman-group14-sha1» удалены из списка CASignatureAlgorithms, определяющего алгоритмы, допустимые для цифровой подписи новых сертификатов, так как использование SHA-1 в сертификатах сопряжено с дополнительным риском из-за того, что атакующий имеет неограниченное время на поиск коллизии для существующего сертификата, в то время как время атаки на хостовые ключи ограничены таймаутом подключения (LoginGraceTime).
Источник: opennet.ru
