Разработчики исправили серьезную уязвимость в 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");

Цифровой рубль может лишить банки 100 млрд рублей комиссий ежегодно

Массовое внедрение цифрового рубля может оказаться для банков очень недешёвым приключением. По оценке Национального рейтингового агентства, новая форма денег способна ежегодно съедать более 100 млрд рублей комиссионных доходов и за пять лет увести из банков не менее 10% пассивов.

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

Потери превысят 100 млрд рублей в год, если доля цифрового рубля достигнет 14% безналичных расчётов.

Есть и другая головная боль. Деньги на цифровых кошельках хранятся на платформе ЦБ, поэтому их распространение грозит оттоком средств со счетов банков. При нынешнем объёме сбережений граждан — более 67 трлн рублей — речь может идти о 1-1,5 трлн рублей ежегодно. Банкам придётся дороже привлекать финансирование, а процентная маржа окажется под давлением.

Само подключение к системе тоже не бесплатный аттракцион. Интеграция цифрового рубля обойдётся кредитной организации в среднем в 100-300 млн рублей. Особенно весело будет небольшим банкам: при вложениях в 100 млн рублей и комиссии 0,1% им потребуется провести платежи на 10 млрд рублей, чтобы только отбить затраты.

Впрочем, мгновенной революции эксперты не ждут. В первые год-два цифровой рубль вряд ли наберёт серьёзные обороты из-за ограничений, сложного подключения и слабого интереса клиентов. Через пять-семь лет его доля может составить от 5% до 30% безналичных платежей, наиболее вероятный сценарий — 15-24%.

С 1 сентября цифровой рубль уже начали массово внедрять банки, маркетплейсы, супермаркеты, операторы связи и автосалоны. ЦБ считает, что финансовые организации смогут зарабатывать на новых сервисах и смарт-контрактах.

Напомним, пользователи iPhone не смогут открыть кошелёк цифрового рубля через банковские приложения 1 сентября, сообщили источники в финансовых организациях и среди разработчиков. Банкам пока не удаётся опубликовать в App Store сборки с новой функцией.

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