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

Роскомнадзор проиграл кассацию по делу об утечке данных РЖД

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

После инцидента Роскомнадзор добился привлечения компании к ответственности по части 1 статьи 13.11 КоАП РФ за нарушение требований к обработке персональных данных.

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

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

Регулятор попытался оспорить такой подход в кассации, однако Арбитражный суд Московского округа поддержал позицию апелляционной инстанции и отказался пересматривать её выводы.

Фактически суд подтвердил важный для отрасли принцип: наличие утечки не означает автоматического признания компании виновной. Для привлечения к ответственности необходимо доказать, что оператор не выполнил конкретные требования по защите данных или допустил нарушения.

Для бизнеса это решение может стать одним из наиболее заметных судебных прецедентов последних лет в сфере персональных данных. Позиция о недопустимости так называемого объективного вменения при утечках теперь устояла сразу в трёх судебных инстанциях.

Впрочем, точку в истории ставить пока рано. У Роскомнадзора остаётся возможность обратиться в Верховный суд России.

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