Уязвимость библиотеки 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).

Вышло Android-приложение для поиска VPN по методичке Минцифры

Разработчик под ником xtclovver выпустил проект RKNHardering — тестовое Android-приложение, которое, как утверждается, умеет искать на устройстве признаки использования VPN и прокси по логике, близкой к недавно обсуждавшейся методичке для российских ИТ-компаний.

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

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

RKNHardering анализирует трафик, сверяет IP-адреса с базами прокси, VPN и адресов дата-центров, а затем пытается оценить, насколько подозрительно выглядит используемое соединение.

 

Автор также отдельно поблагодарил runetfreedom за proof-of-concept, на основе которого, по его словам, была реализовано детектирование одного из сценариев обхода split tunneling (раздельное туннелирование). Сам runetfreedom действительно ведёт публичный GitHub-аккаунт, где размещает связанные с этой темой материалы.

 

Фон у этой истории понятный. В начале апреля СМИ сообщили, что Минцифры направило крупнейшим интернет-компаниям рекомендации по выявлению пользователей с включёнными VPN и при этом отдельно признало, что на iPhone такие возможности «существенно ограничены» из-за особенностей iOS.

В тех же публикациях говорилось, что внедрение механизмов поиска VPN предлагается начинать именно с мобильных устройств на Android и iOS.

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