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

РЖД удалось отменить штраф за утечку персональных данных после атаки

Девятый арбитражный апелляционный суд отменил решение нижестоящей инстанции о штрафе в отношении РЖД по делу об утечке персональных данных. Ранее Арбитражный суд Москвы признал железнодорожного оператора виновным и назначил штраф, однако компания обжаловала это решение.

Заседание апелляционной инстанции состоялось 12 января, а полный текст решения был опубликован 16 февраля.

Инцидент с утечкой произошёл в начале 2025 года. В ходе мониторинга сети Роскомнадзор обнаружил массив данных объёмом около 17 млн строк, содержащий персональные данные сотрудников РЖД. Эти сведения были размещены в публичном телеграм-канале одной из проукраинских хакерских группировок.

Регулятор уведомил компанию о факте утечки. В ходе расследования было установлено, что имел место взлом информационных систем РЖД. Компания сообщила об инциденте в НКЦКИ и правоохранительные органы, которые возбудили уголовное дело; расследование продолжается.

С 26 июня по 9 июля 2025 года Роскомнадзор провёл плановую проверку РЖД. По её итогам ведомство обратилось в Арбитражный суд Москвы, который оштрафовал компанию на 150 тыс. рублей по ч. 1 ст. 13.11 КоАП РФ.

РЖД не согласилась с выводами суда и подала апелляцию. Девятый арбитражный апелляционный суд отменил решение первой инстанции, указав: «Суд апелляционной инстанции считает, что выводы административного органа о наличии единоличной вины ОАО „Российские железные дороги“ в нарушении законодательства Российской Федерации в области персональных данных являются преждевременными».

«Суд не оправдал утечку. Он просто напомнил, что в России пока нет модели строгой ответственности „утекло — значит виноват“ (хотя Роскомнадзор её и пытается навязать своими действиями). Чтобы оштрафовать, нужно доказать вину. А РЖД доказывало не позицию „мы не виноваты“ (как в случае с Минтруда), а „мы приняли все разумные меры“», — прокомментировал решение суда Алексей Лукаций.

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