Разработчики исправили серьезную уязвимость в 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");
AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

В рунете произошел масштабный сбой

14 января, в 17:10 по московскому времени, у российских пользователей массово перестали открываться сайты, как отечественные, так и зарубежные. Роскомнадзор объяснил произошедшее проблемами у операторов связи.

Первым о сбое сообщил телеграм-канал Baza. Из эфира пропали сайты сервисов, предназначенных для мониторинга сбоев, включая «Сбой.рф».

Сервис Downdetector, по информации издания 3D News, работал, но также периодически становился недоступен.

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

Проблемы наблюдались даже с доступом к российским сайтам из-за рубежа. По данным 3D News, стабильную работу сохраняли только Telegram и платформы группы VK.

Роскомнадзор связал инцидент с техническими проблемами у операторов связи.

«Фиксируются сбои у всех операторов, причина устанавливается», — сообщила пресс-служба ведомства в телеграм-канале Mash.

 

Сбой затронул практически всех ключевых операторов и провайдеров, включая «Ростелеком», «Дом.ру», МТС, «МегаФон», «Билайн» и других. У некоторых пользователей также наблюдались перебои с мобильной связью.

При этом в «Ростелекоме» заявили, что проблемы с доступом в интернет не связаны с неполадками в их инфраструктуре.

По информации «КоммерсантЪ», работа рунета начала восстанавливаться уже в 17:25 по московскому времени.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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