The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз OpenSSH 8.3 с устранением уязвимости в scp

27.05.2020 20:55

После трёх месяцев разработки представлен релиз OpenSSH 8.3, открытой реализации клиента и сервера для работы по протоколам 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).

  1. Главная ссылка к новости (https://lists.mindrot.org/pipe...)
  2. OpenNews: Релиз OpenSSH 8.2 c поддержкой токенов двухфакторной аутентификации FIDO/U2F
  3. OpenNews: Предложен метод определения коллизий в SHA-1, пригодный для атаки на PGP
  4. OpenNews: Реализация DDIO в чипах Intel допускает сетевую атаку по определению нажатий клавиш в сеансе SSH
  5. OpenNews: Выпуски libssh2 1.8.1 и Putty 0.71 с устранением уязвимостей
  6. OpenNews: Уязвимости в реализациях SCP из OpenSSH, PuTTY и WinSCP
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/53039-openssh
Ключевые слова: openssh, ssh
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:23, 27/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    CVE какой?
     
     
  • 2.2, ssh (ok), 01:09, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    По всей видимости никакого.
    https://lists.mindrot.org/pipermail/openssh-unix-announce/2020-May/000139.html

    > Potentially-incompatible changes
    > ================================
    > This release includes a number of changes that may affect existing configurations:
    >  * sftp(1): reject an argument of "-1" in the same way as ssh(1) and scp(1) do instead of accepting and silently ignoring it.

     

  • 1.3, Аноним (3), 09:22, 28/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жаль что ssh-copy-id настолько убог, что не может другому юзеру прбрасывать ключ. sftp только по одному файлу умеет заливать.
     
     
  • 2.11, Аноним (11), 18:32, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Скажите спасибо Red Hat, это их изначально приблуда. В состав оригинального OpenSSH оно не входит.

    В качестве альтернативы советую посмотреть в сторону Ansible, там есть модуль, изначально предназначенный для управления authorized_keys.

     
     
  • 3.15, andy (??), 09:57, 30/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Скажите спасибо Red Hat, это их изначально приблуда. В состав оригинального OpenSSH оно не входит.

    [code]
    # head /usr/bin/ssh-copy-id
    #!/bin/sh

    # Copyright (c) 1999-2016 Philip Hands <phil@hands.com>
    #               2013 Martin Kletzander <mkletzan@redhat.com>
    #               2010 Adeodato =?iso-8859-1?Q?Sim=F3?= <asp16@alu.ua.es>
    #               2010 Eric Moret <eric.moret@gmail.com>
    #               2009 Xr <xr@i-jeuxvideo.com>
    #               2007 Justin Pryzby <justinpryzby@users.sourceforge.net>
    #               2004 Reini Urban <rurban@x-ray.at>
    #               2003 Colin Watson <cjwatson@debian.org>
    [/code]

    Какой РедХат? Тут целый список приложивших руку. Можете дописать как надо, это же шелл скрипт.

     

  • 1.4, little Bobby tables (?), 10:28, 28/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в scp неудобная обработка опций командной строки, у них сделано в стиле бсд - вспомнил про рекурсию или там про порт, надо тебе добавить параметр - будь добр, вернись курсором, впиши до параметров. Довольно часто разработчик напишет что-то руками, потом держится за этот код, не хочет менять на более удобные, такие же древние гетоптс. Совершенно напрасно. Довольно редкая ситуация с этим хардкодом места опций в линукс, навскидку разве что find страдает тем же - будь добр, имя директории до опций.
     
     
  • 2.5, Crazy Alex (ok), 11:07, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У git то же самое, например. И тоже неудобно.
     
  • 2.7, Аноним (-), 12:46, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в scp неудобная обработка опций командной строки, у них сделано в стиле бсд

    Угадайте, откуда его в пингвинчик утянули.

     
     
  • 3.10, little Bobby tables (?), 14:44, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> в scp неудобная обработка опций командной строки, у них сделано в стиле бсд
    > Угадайте, откуда его в пингвинчик утянули.

    "эта ОС написана профессорами, в отличие от линукса, что написан студентами"

     
  • 2.12, Аноним (11), 18:36, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Откройте для себя магию Ctrl+A и Ctrl+E. Поиск документации по командам перемещения «на слово вперёд» и т.п. остаются домашним заданием.
     
     
  • 3.13, little Bobby tables (?), 11:47, 29/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    работаю в башевском режиме vi
    set -o vi
    это все равно неудобно.
     
  • 2.14, microsoft (?), 17:26, 29/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Какие альтернативы в С гетопсу?
     
     
  • 3.17, A (?), 18:34, 30/05/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C++
     
  • 2.16, A (?), 18:33, 30/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > будь добр, имя директории до опций.

    Иногда порядок опций влияет на результат.

    В нормальных терминалах есть способы гонять курсор по строке, кроме как "стрелочками".

     

  • 1.6, InuYasha (?), 11:58, 28/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да, сколько уже раз scp выручал - не счесть.
     
  • 1.8, Аноним (8), 13:40, 28/05/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Напомните они выпускают какой-то libssh или libscp?
     
     
  • 2.9, муу (?), 14:42, 28/05/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нет

    libssh и libssh2 это отдельные сущности от совершенно других людей

     
  • 2.18, Аноним (18), 06:29, 01/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, и в этом вся боль. С другой стороны, если не нужно разрабатывать софт под винду, можно использовать openssh из других приложений через https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.mux
     

  • 1.19, Аноним (19), 11:11, 01/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    load pubkey "/tmp/key": invalid format
    как лечить?
     
     
  • 2.20, Wishpering (?), 14:58, 01/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по всему, просто стоит обновить openssh на сервере.
    Сейчас проверил, на хосте версия 8.3, на сервере тоже - предупреждения нет, а вот на серваке с openssh 7.2 оно есть
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру