Bản phát hành OpenSSH 8.3 với bản sửa lỗi lỗ hổng scp

Sau ba tháng phát triển trình bày giải phóng OpenSSH 8.3, một triển khai máy khách và máy chủ mở để làm việc thông qua giao thức SSH 2.0 và 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, в связи с tăng hiệu quả của các cuộc tấn công va chạm với tiền tố nhất định (chi phí chọn va chạm ước tính khoảng 45 nghìn đô la). Trong một trong những bản phát hành sắp tới, họ có kế hoạch vô hiệu hóa theo mặc định khả năng sử dụng thuật toán chữ ký số khóa công khai “ssh-rsa”, được đề cập trong RFC gốc cho giao thức SSH và vẫn phổ biến trong thực tế (để kiểm tra việc sử dụng của ssh-rsa trong hệ thống của mình, bạn có thể thử kết nối qua ssh với tùy chọn “-oHostKeyAlgorithms=-ssh-rsa”).

Để quá trình chuyển đổi sang các thuật toán mới trong OpenSSH diễn ra suôn sẻ, trong bản phát hành trong tương lai, cài đặt UpdateHostKeys sẽ được bật theo mặc định, cài đặt này sẽ tự động di chuyển máy khách sang các thuật toán đáng tin cậy hơn. Các thuật toán được đề xuất để di chuyển bao gồm rsa-sha2-256/512 dựa trên RFC8332 RSA SHA-2 (được hỗ trợ kể từ OpenSSH 7.2 và được sử dụng theo mặc định), ssh-ed25519 (được hỗ trợ kể từ OpenSSH 6.5) và dựa trên ecdsa-sha2-nistp256/384/521 trên RFC5656 ECDSA (được hỗ trợ kể từ OpenSSH 5.7).

Начиная с прошлого выпуска «ssh-rsa» и «diffie-hellman-group14-sha1» удалены из списка CASignatureAlgorithms, определяющего алгоритмы, допустимые для цифровой подписи новых сертификатов, так как использование SHA-1 в сертификатах сопряжено с дополнительным риском из-за того, что атакующий имеет неограниченное время на поиск коллизии для существующего сертификата, в то время как время атаки на хостовые ключи ограничены таймаутом подключения (LoginGraceTime).

Nguồn: opennet.ru

Thêm một lời nhận xét