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

Как вернуть доступ к диску C:\ в Windows 11, объясняет Microsoft

Microsoft и Samsung разобрались с неприятным сбоем, из-за которого на ряде устройств Samsung с Windows 11 пользователи теряли доступ к системному диску C:\ и сталкивались с отказами при запуске приложений. Теперь корпорации опубликовали инструкцию по восстановлению системы.

Речь идёт о проблеме, которая затронула некоторые модели Samsung Galaxy Book 4 и отдельные десктопы Samsung на Windows 11 версий 24H2 и 25H2.

Сбой проявлялся довольно интересно: система могла выдавать ошибку «C:\ is not accessible — Access denied», переставали нормально открываться файлы, не запускались Outlook, Office, браузеры и системные утилиты, а в некоторых случаях ломались даже повышение привилегий, удаление обновлений и сбор логов.

Изначально многие связывали это с февральским обновлением Windows, но по итогам совместного расследования Microsoft и Samsung пришли к другому выводу: причиной оказался баг в приложении Samsung Galaxy Connect.

Microsoft отдельно подчёркивает, что проблема совпала по времени с Patch Tuesday, но не была вызвана ни текущими, ни предыдущими ежемесячными обновлениями Windows.

Чтобы не множить число пострадавших, Microsoft временно убрала проблемное приложение из Microsoft Store. Позже Samsung заново опубликовала стабильную более раннюю версию, чтобы остановить повторное появление ошибки на других устройствах.

Теперь у владельцев уже затронутых устройств появился официальный сценарий восстановления. Samsung и Microsoft отдельно отмечают, что шаги были совместно проверены и должны восстановить стандартные разрешения Windows.

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

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