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

Операторы пригрозили заглушить звонки крупнейших банков с 15 октября

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

Как сообщает «Коммерсантъ», под блокировку рискуют попасть звонки Альфа-Банка, ВТБ, Газпромбанка, «Ренессанс Кредита», Сбербанка, Совкомбанка и Т-Банка.

Операторы утверждают, что эти организации не заключили договоры на маркировку либо подписали их, но не выполняют условия.

Минцифры уже попросило Центробанк вмешаться. По данным ведомства, после введения обязательной маркировки число спам-звонков сократилось на 25-30%.

Более 90% банковских организаций и почти все компании из других отраслей договоры с операторами уже оформили. А вот крупнейшие игроки, генерирующие львиную долю вызовов, решили пободаться за трактовку закона.

Цена вопроса — около 30 копеек за каждую попытку звонка, даже если клиент не поднял трубку. Банки считают, что маркировку должны обеспечивать сами операторы, и оценивают общие расходы отрасли в миллиарды рублей ежегодно. Телеком-компании отвечают просто: не хотите маркироваться — ваши звонки никуда не дойдут.

Масштабы обзвона впечатляют. Только за месяц Альфа-Банк совершил через сеть одного оператора 43 млн вызовов, Совкомбанк — 22,7 млн, ВТБ — 9 млн, Т-Банк — 6 млн, а Сбербанк — 5,7 млн. По оценке источника издания, на крупнейшие банки приходится 95% банковского спама.

Но вместе с рекламой под цифровую гильотину способны попасть предупреждения о подозрительных операциях и запросы на подтверждение платежей.

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