Після трьох місяців розробки реліз , відкритої реалізації клієнта та сервера для роботи за протоколами 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) та ecdsa2/256 з урахуванням RFC384 ECDSA (підтримується з OpenSSH 521).
Починаючи з минулого випуску «ssh-rsa» та «diffie-hellman-group14-sha1» видалені зі списку CASignatureAlgorithms, що визначає алгоритми, допустимі для цифрового підпису нових сертифікатів, оскільки використання SHA-1 у сертифікатах пов'язане з додатковим ризиком через те , що атакуючий має необмежений час на пошук колізії для існуючого сертифіката, в той час як час атаки на хостові ключі обмежені таймом підключення (LoginGraceTime).
Джерело: opennet.ru
