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

Учёные МИФИ научили датчики чуять возгорание аккумулятора заранее

Исследователи из НИЯУ МИФИ разработали устройства, которые могут предупредить о возгорании техники с литий-ионными аккумуляторами ещё до появления дыма и пламени. Приборы отслеживают газы, выделяющиеся на начальной стадии теплового разгона батареи, и позволяют вовремя принять меры.

Разработка, по данным «Известий», представляет собой линейку компактных газоанализаторов с полупроводниковыми и электрохимическими датчиками.

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

Набор сенсоров подбирают под конкретный тип аккумуляторов, рассказала руководитель проекта, старший преподаватель кафедры микро- и наноэлектроники НИЯУ МИФИ Юлия Шалтаева. Иными словами, универсального нюха для всех батарей не будет, каждому аккумулятору свой газовый профиль.

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

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

Литий-ионная батарея редко загорается совсем без предупреждения — сначала внутри неё запускаются опасные химические процессы. Разработка МИФИ должна уловить их газовый след раньше, чем ситуацию заметит человек.

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