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

Пользователи Android всё чаще отказываются от приложений и VPN для блокировки рекламы, выбирая Private DNS как самый простой и эффективный способ защиты. Опрос показал, что DNS-сервисы вроде AdGuard и Cloudflare позволяют убрать рекламу, снизить риск мошенничества и не замедлять работу смартфона.

Как выяснили исследователи, самым популярным способом блокировки рекламы стал Private DNS. Этот вариант заметно опередил все остальные.

Около 65% респондентов сообщили, что используют Private DNS, например Cloudflare 1.1.1.1 или специализированные решения вроде AdGuard DNS. Такие сервисы легко настраиваются, не требуют установки сторонних приложений и позволяют отсеивать рекламные и потенциально опасные домены на уровне запросов.

Для сравнения: менее 19% пользователей предпочитают сторонние приложения для блокировки рекламы, такие как Blokada. Совсем небольшая доля респондентов призналась, что вообще не использует никакие инструменты для защиты от рекламы.

 

Пользователи отмечают сразу несколько преимуществ DNS-подхода:

  • он не нагружает систему и не замедляет интернет, как это иногда бывает с VPN;
  • не конфликтует с сервисами вроде Android Auto;
  • помогает фильтровать не только рекламу, но и фишинговые или сомнительные сайты;
  • настраивается за пару минут прямо в системных параметрах Android.

При этом Private DNS не ограничивает доступ к сервисам и не ломает работу приложений, что для многих оказалось решающим фактором.

Помимо DNS-сервисов, пользователи активно рекомендуют браузеры с встроенной блокировкой рекламы. Среди популярных вариантов — Firefox с расширением uBlock Origin и фирменный браузер Samsung, который поддерживает контент-блокеры из коробки.

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

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