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

Telegram лишился коротких ссылок: домен t.me отключили по всему миру

Короткие ссылки Telegram формата t.me перестали открываться в браузерах по всему миру. На проблему 13 июля обратило внимание издание «Код Дурова». Сам мессенджер при этом работает штатно: десктопная версия и приложения на смартфонах доступны, а ссылки t.me продолжают открываться внутри Telegram.

Сломался именно внешний переход через браузер.

По предварительным данным, домен фактически исключили из системы DNS на уровне реестра доменной зоны .me. Эта зона относится к Черногории, а ее оператором выступает компания doMEn, выбранная местными властями.

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

При этом сам домен остается зарегистрированным за Telegram до 2035 года. То есть срок регистрации не истек и обычной забывчивостью администратора ситуацию не объяснить.

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

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