Разработчики исправили серьезную уязвимость в OpenSSH

Разработчики исправили серьезную уязвимость в OpenSSH

Разработчики исправили серьезную уязвимость в OpenSSH

Уязвимость OpenSSH была обнаружена экспертом Михал Залевски (Michal Zalewski) в файле-исходнике sftp-server.c, она затрагивает версии OpenSSH с 5.5 по 7.6.

Как можно видеть в коде, приведенном ниже, если SFTP-сервер стартует с параметром –R, он будет включать переменную «readonly». Это означает, что клиентам не разрешено записывать операции.

 

 

 

 

int
sftp_server_main(int argc, char **argv, struct passwd *user_pw)
{
   ...
    while (!skipargs && (ch = getopt(argc, argv,
        "d:f:l:P:p:Q:u:cehR")) != -1) {
        switch (ch) {
    ...
        case 'R':
            readonly = 1;
            break;
    ...
}

Открытие файла для SFTP-сервера выполняется с помощью вспомогательной функции process_open(), которая открывает доступные только для чтения файлы:

static void
process_open(u_int32_t id)
{
    ...
    if (readonly &&
        ((flags & O_ACCMODE) == O_WRONLY ||
        (flags & O_ACCMODE) == O_RDWR) != 0)) {
        verbose("Refusing open request in read-only mode");
        status = SSH2_FX_PERMISSION_DENIED;
    } else {
        fd = open(name, flags, mode);
    ...
}

Здесь можно увидеть, что если «readonly» активирован, будет осуществляться проверка наличия «WRITE ONLY» или «READ/WRITE». Если это условие удовлетворено, будет выведена ошибка открытия файла в режиме read-only.

В противном случае файл будет открыт с использованием системного вызова open(). Залевски использовал эти параметры для создания произвольных read-only-файлов на SFTP-сервере. Чтобы исправить эту брешь, только для чтения. Чтобы исправить это, разработчики.

Код патча можно увидеть ниже:

if (readonly &&
-       ((flags & O_ACCMODE) == O_WRONLY ||
-       (flags & O_ACCMODE) == O_RDWR)) {
+       ((flags & O_ACCMODE) != O_RDONLY ||
+       (flags & (O_CREAT|O_TRUNC)) != 0)) {
        verbose("Refusing open request in read-only mode");
Подпишитесь на новости

Lazarus рядом с КриптоПро: кому Bybit запретила отправлять криптовалюту

Криптобиржа Bybit разослала пользователям предупреждение о переводах в адрес санкционных организаций. Отправлять им криптовалюту или получать средства от них запрещено, причём как напрямую, так и через посредников. Сумма значения не имеет: комплаенс не растрогает даже перевод на пару долларов.

Биржа опубликовала перечень Restricted Counterparties, который может обновляться в любой момент.

Список получился интересным: среди его участников соседствуют северокорейская киберпреступная группировка Lazarus и российский разработчик средств криптографической защиты «КриптоПро».

Роднит их в данном случае только присутствие в санкционных перечнях? никаких связей между организациями Bybit не заявляет.


Исходящий перевод запрещённому контрагенту биржа отклонит, а поступившие от него или связанных с ним адресов активы может заморозить. Вернуть деньги отправителю получится не всегда: законодательство способно потребовать удерживать их неопределённое время. Вдобавок аккаунт пользователя могут приостановить или окончательно закрыть.

Bybit напоминает, что блокчейн публичен, поэтому маршрут средств виден без признательных показаний владельца кошелька. Причём перечень не считается исчерпывающим: биржа оставляет за собой право остановить операцию даже с пока не указанным в нём контрагентом.

Ограничения закреплены в условиях обслуживания Bybit, которые позволяют прекращать обслуживание лиц и организаций из санкционных списков США, ЕС и Великобритании.

RSS: Новости на портале Anti-Malware.ru