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

Детские смарт-часы оказались карманным шпионом для хакеров

GPS-часы должны помогать родителям следить за ребёнком. Но исследователи Вангелис Стикас и Фелипе Солферини показали, что некоторые модели охотно следят и за самим владельцем — причём в интересах любого, кто доберётся до дырявой платформы.

Во время эксперимента специалисты взломали детские смарт-часы стоимостью менее 30 долларов, которые носил журналист WIRED.

Исследователи отслеживали его маршрут, незаметно делали снимки встроенной камерой и включали микрофон. Устройство при этом не подавало никаких признаков слежки. Очень заботливый гаджет — только непонятно, о ком именно он заботится.

 

Проблема оказалась куда шире одной розовой безделушки. Исследователи изучили более 70 GPS-часов и автомобильных трекеров. Свыше 60 брендов использовали инфраструктуру двух китайских платформ — SETracker и NewGPS2012. Вместе с SinoTrack на три цепочки поставок приходятся десятки миллионов устройств.

 

 

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

 

У SinoTrack исследователи также обнаружили демонстрационную учётную запись с доступом к миллионам устройств и SQL-инъекцию, открывавшую сведения о местоположении, паролях и автомобилях. В NewGPS2012 похожие уязвимости позволяли выполнять код на серверах. Специалисты заметили и признаки того, что инфраструктуру могли взломать раньше них.

Представитель SETracker заявил, что проблемы устранены. Незадолго до выступления исследователей на Black Hat прежние методы атаки действительно перестали работать, однако полноту исправлений подтвердить не удалось. В SinoTrack и NewGPS2012 уязвимости, по их данным, всё ещё сохраняются.

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