Разработчики исправили серьезную уязвимость в 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");
AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

В мессенджере MAX появился цифровой ID

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

Для создания цифрового ID необходимо пройти подтверждение личности через Единую биометрическую систему. Это можно сделать уже на этапе регистрации, используя заграничный паспорт нового образца.

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

Подтверждение возраста или статуса осуществляется с помощью QR-кода, сформированного на основе данных из Госуслуг. При этом доступ к другим персональным данным исключён. Использование сервиса посторонними невозможно: для подтверждения требуется биометрия, а сам QR-код регулярно обновляется. Цифровой ID также позволяет просматривать реквизиты любых документов, включая паспорт, СНИЛС и ИНН.

Пока сервис работает в тестовом режиме. Первой к нему подключилась розничная сеть «Магнит», в дальнейшем список участников будет расширяться.

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

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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