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

Android, Linux, macOS и Windows выдают действия пользователей через файлы

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

В исследовании File Notification Attacks разбираются inotify в Linux, FileObserver в Android, ReadDirectoryChangesW в Windows и FSEvents в macOS.

Некоторые из этих механизмов существуют уже более 20 лет. Содержимое файлов они не раскрывают, зато показывают метаданные событий, которых хватает для слежки за действиями других пользователей.

На Linux исследователи отслеживали события в /dev/input и определяли ритм нажатия клавиш с точностью от 93,1 до 100%, в том числе при удалённой работе через SSH.


Посещаемые сайты удалось распознавать с точностью 87,9%. Уязвимость CVE-2025-68788 частично закрыли в ядре ещё в декабре 2025 года, запретив некоторые события для специальных файлов в /dev.

На Android приложение без разрешений может наблюдать за изменениями в закрытой папке WhatsApp (принадлежит корпорации Meta, признанной экстремистской и запрещённой в России) и по именам файлов с временными метками понимать, когда пользователь отправляет, получает или удаляет фотографии, видео и документы. Патчей для Android исследователи пока не увидели.


Windows выступила особенно щедро: наблюдение за корнем диска C:\ способно раскрывать полные пути файлов, с которыми работают другие пользователи.

Этого хватило для распознавания открываемых в Firefox сайтов с точностью 97,8%. Microsoft назвала поведение предусмотренным и недокументированным.

macOS раскрывает меньше, однако FSEvents позволяет замечать установку приложений, подключение устройств, изменение настроек звука, Bluetooth, принтеров, питания и сети.

Большинство сценариев требует локальной непривилегированной учётной записи или вредоносного приложения.

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