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

В клиенте IDrive для Windows нашли критическую уязвимость с правами SYSTEM

В Windows-клиенте сервиса резервного копирования IDrive обнаружили критическую уязвимость, которая позволяет локальному пользователю с минимальными правами получить полный контроль над системой. Проблема получила идентификатор CVE-2026-1995.

Обычный аутентифицированный пользователь может подложить вредоносный файл туда, откуда его потом подхватит системный процесс IDrive и запустит уже с правами NT AUTHORITY\SYSTEM. А это, по сути, максимальный уровень привилегий в Windows.

Уязвимость затрагивает версии клиента 7.0.0.63 и ниже. Как сообщается, слабое место находится в процессе id_service.exe, который работает в фоне с повышенными правами. Этот сервис читает файлы из каталога C:\ProgramData\IDrive и использует их содержимое как аргументы для запуска новых процессов.

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

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

На момент публикации готового патча для CVE-2026-1995 ещё нет, но в IDrive, как сообщается, уже работают над патчем.

Пока исправление не вышло, администраторам советуют вручную ограничить права на каталог C:\ProgramData\IDrive, оставив возможность записи только привилегированным учётным записям. Дополнительно рекомендуется следить за изменениями файлов в этой директории с помощью EDR и по возможности блокировать запуск недоверенных скриптов через групповые политики.

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