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

Fedora разгромила Windows 11 в тестах на одинаковых ноутбуках

Windows 11 и Fedora столкнули лбами на двух одинаковых Dell XPS 13 с процессорами Intel Core 5 320, 8 ГБ ОЗУ и SSD на 512 ГБ. Итог эксперимента PhoneBuff получился для Microsoft не самым приятным: Linux оказался быстрее почти во всех рабочих сценариях.

Обе системы загрузились примерно за одинаковое время, однако Windows заметно дольше перезагружалась.

Ещё веселее стало при проверке оперативной памяти. Система Microsoft вместе с утилитами Dell, Defender и Edge WebView2 заняла 85,2% доступной ОЗУ. Fedora ограничилась 31%.

Особенно болезненным оказался тест распаковки архива объёмом 6 ГБ. Встроенный инструмент Fedora справился за 12 секунд, а Проводнику Windows понадобилось 57 секунд.

Установка 7-Zip сократила результат до 17 секунд, фактически продемонстрировав, что главным тормозом была не сама Windows, а её штатный распаковщик.


Fedora также обошла соперника при работе с VS Code — приложением, которое по иронии разрабатывает сама Microsoft. Небольшое преимущество Linux показал в OnlyOffice OCR и GIMP.

Windows смогла отыграться в играх, однако в Cyberpunk 2077 разрыв оказался небольшим. Каждый тест запускали от трёх до пяти раз, после чего брали медианный результат. Яркость экранов и расстояние до роутера были одинаковыми.

Авторы подчёркивают, что Fedora — лишь один из множества дистрибутивов Linux, поэтому переносить результаты на всю экосистему нельзя. Да и один тест не ставит окончательный диагноз.

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