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

iMazing снова позволяет устанавливать удалённые приложения на iPhone

Разработчики iMazing выпустили версию 3.6.3, которая возвращает возможность загружать на iPhone приложения, ранее удалённые из App Store. Пока обход новых ограничений Apple работает только через macOS, владельцам Windows придётся ещё немного посидеть у закрытой двери.

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

Поддержка macOS 27 Golden Gate и Windows пока не восстановлена. В iMazing признали, что эти платформы требуют дополнительной работы, поэтому соответствующие исправления, вероятно, появятся позже.

Проблемы начались после изменений на стороне Apple. iMazing, ipa_downloader, 3uTools и другие сторонние инструменты перестали получать установочные файлы из пользовательской медиатеки App Store: серверы отвечали ошибкой HTTP 403 Forbidden.

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

Из-за этого не всегда помогали даже заранее сохранённые IPA-файлы: для переноса приложения на другой iPhone всё равно требовалась действующая цифровая подпись.

Особенно болезненно ограничение ударило по российским пользователям, которые с помощью iMazing возвращали банковские и другие приложения, удалённые из App Store.

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