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

ИИ учится задавать вопросы сам себе — и от этого становится умнее

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

Похоже, это уже не фантазия. Исследователи из Университета Цинхуа, Пекинского института общего искусственного интеллекта (BIGAI) и Университета штата Пенсильвания показали, что ИИ способен осваивать рассуждение и программирование через своеобразную «игру с самим собой».

Проект получил название Absolute Zero Reasoner (AZR). Его идея проста и изящна одновременно. Сначала языковая модель сама придумывает задачи по программированию на Python — достаточно сложные, но решаемые. Затем она же пытается их решить, после чего проверяет себя самым честным способом: запускает код.

 

Если решение сработало — отлично. Если нет — ошибка становится сигналом для обучения. На основе успехов и провалов система дообучает исходную модель, постепенно улучшая и умение формулировать задачи, и способность их решать.

Исследователи протестировали подход на открытой языковой модели Qwen с 7 и 14 миллиардами параметров. Оказалось, что такой «самообучающийся» ИИ заметно улучшает навыки программирования и логического мышления — и в некоторых тестах даже обгоняет модели, обученные на вручную отобранных человеческих данных.

 

По словам аспиранта Университета Цинхуа Эндрю Чжао, одного из авторов идеи, подход напоминает реальный процесс обучения человека:

«Сначала ты копируешь родителей и учителей, но потом начинаешь задавать собственные вопросы. И в какой-то момент можешь превзойти тех, кто тебя учил».

Идея «самоигры» для ИИ обсуждается не первый год — ещё раньше её развивали такие исследователи, как Юрген Шмидхубер и Пьер-Ив Удейер. Но в Absolute Zero особенно интересно то, как растёт сложность задач: чем умнее становится модель, тем более сложные вопросы она начинает ставить перед собой.

«Уровень сложности растёт вместе с возможностями модели», — отмечает исследователь BIGAI Цзилун Чжэн.

Сейчас подход работает только там, где результат можно легко проверить — в программировании и математике. Но в будущем его хотят применить и к более «жизненным» задачам: работе ИИ-агентов в браузере, офисных сценариях или автоматизации процессов. В таких случаях модель могла бы сама оценивать, правильно ли агент действует.

«В теории это может стать путём к суперинтеллекту», — признаёт Чжэн.

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