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

Исследователь купил noreply.net, компании начали присылать ему секреты

Компании годами отправляют документы, пароли и персональную информацию на адреса вроде company@noreply[.]net, полагая, что письма растворятся в цифровой пустоте. Вот только у пустоты нашёлся владелец, и теперь она получает около 700 сообщений в день.

Исследователь в области безопасности Кори Соловевич купил домены noreply.us и noreply.net в 2020 и 2024 годах.

Настроив сбор писем со всех адресов, он случайно создал приманку для корпоративных утечек. С декабря 2024 года на один из доменов пришло более 401 тыс. сообщений.

Среди находок можно встретить отчёты о травмах, заказы на ремонт, сведения о покупках, письма от школьных платформ и учётные данные тестовых систем. Только noreply.net получил около 400 тыс. сообщений, причём более 28 тыс. содержали вложения. Отправителями стали свыше 14 тыс. адресов, связанных с 6200 доменами.

Причина проста: некоторые системы используют чужие публичные домены как заглушки или заменяют ими адрес сотрудника после его увольнения. Разработчики, видимо, рассчитывали, что noreply означает, что письма никто не читает.

Похожий эксперимент провёл руководитель службы безопасности Xeal Майк Шевард. Он заплатил около 15 долларов за deleteduser.com и уже в первый час получил письма от трёх организаций.

Позднее на домен посыпались гостиничные бронирования, сведения о заказах лекарств, просьбы согласовать отпуска, приглашения на совещания и тысячи снимков с промышленных камер наблюдения. Одна компания даже позвала дорогого удалённого пользователя на летнее барбекю.

Исследователи независимо приобрели более 30 подобных доменов, чтобы те не достались киберпреступникам. Соловевич также проверил 7136 потенциальных доменов-заглушек и обнаружил, что 328 из них принимают письма на любые адреса.

Проблема решается довольно просто: для заглушек можно использовать внутренние домены или зарезервированную зону .invalid. Но многие компании на предупреждения не отвечают. Видимо, кнопка noreply у них работает в обе стороны.

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