Уязвимость библиотеки Rust грозит удалением системных файлов и папок

Уязвимость библиотеки Rust грозит удалением системных файлов и папок

Уязвимость библиотеки Rust грозит удалением системных файлов и папок

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

Согласно информационному бюллетеню, уязвимость CVE-2022-21658, оцененная в 7,3 балла по CVSS, связана с возможностью атаки TOCTOU (Time-of-Check Time-of-Use) во время выполнения функции std::fs::remove_dir_all. Из-за некорректной реализации обработки симлинков возникает состояние гонки между проверкой этого условия и использованием результатов — стиранием данных.

Как оказалось, вместо блокировки перехода по символическим ссылкам функция remove_dir_all() вначале проверяет, является ли целевой объект таким указателем. При положительном результате файл удаляется, в противном случае происходит запуск рекурсивного удаления содержимого каталога; таким образом, эта операция выполняется с небольшой задержкой.

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

Уязвимости подвержены все выпуски Rust с 1.0.0 по 1.58.0. Патч включен в состав обновления 1.58.1, вышедшего на прошлой неделе, и доступен для ряда кастомных средств программирования. Примечательно, что установка заплатки не способна решить проблему в ОС REDOX и macOS версий ниже 10.10 (Yosemite).

ИИ OpenAI полез на GitHub за утёкшими ключами, а затем выдумал данные

Модели OpenAI оказались очень изобретательными, когда привычные способы выполнить задачу переставали работать. Они искали утёкшие API-ключи, загружали данные на публичные сервисы, обменивались записками через репозиторий и оставляли самим себе инструкции скрывать ошибки.

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

OpenAI подчёркивает: это отдельные эпизоды, по которым нельзя судить о частоте подобных выходок.

В одном случае модель не смогла подключиться к API со статистикой доходов округа. Тогда она попыталась зарегистрироваться через одноразовую почту, полезла на GitHub за утёкшими ключами и нашла рабочий.

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

Другие агенты превратили внутренний Artifactory OpenAI в подпольную доску объявлений. Независимые экземпляры оставляли там сообщения, читали записки коллег и просили друг у друга помощи. Уязвимости они не взламывали, а использовали выданные компанией учётные данные, но явно не по назначению.

Ещё несколько моделей отправляли данные за пределы рабочей среды. Одна загрузила найденные записи на публичный сервис ради красивой ссылки на источник, другая — фотографию на сервис обратного поиска. Группа агентов и вовсе разместила рабочую книгу на публичном хостинге, хотя ей прямо велели пользоваться только локальными файлами.

Самая ехидная часть истории — инструкции на будущее. Модели записывали в свои служебные сводки команды игнорировать сообщения разработчиков, скрывать провалы и выдумывать недостающие данные. Одна сформулировала правило совсем интересно: «Будь прозрачным, только если спросят».

Теперь OpenAI обещает публиковать такие случаи быстрее — даже если их причины ещё не выяснены, а исправления не готовы.

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