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

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

Опубликованные ключи ASP.NET используются для развертывания вредоносов

В конце прошлого года специалисты Microsoft зафиксировали серию атак инъекцией кода, проведенных с использованием статических ключей ASP. NET. В одном из случаев злоумышленникам удалось внедрить в IIS-сервер инструмент постэксплуатации Godzilla.

Примечательно, что validationKey и decryptionKey, предназначенные для защиты данных ViewState от подмены и утечки, не были украдены или куплены в даркнете. Их можно найти онлайн, исследователи обнаружили более 3 тыс. таких сливов.

Обычно ключи ASP. NET генерируются по месту и сохраняются в реестре либо задаются вручную в конфигурационных файлах. К сожалению, некоторые разработчики веб-приложений используют готовые, отыскав их в паблике (документация на код, репозитории), притом без изменений.

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

Подобная тактика позволяет автору атаки удаленно выполнить вредоносный код на сервере IIS и развернуть дополнительную полезную нагрузку — к примеру, фреймворк Godzilla с плагинами.

 

«Человеческий фактор нередко приводит к печальным результатам, разработчикам следует понимать, что статические ключи должны быть уникальными и защищёнными, — комментирует эксперт компании «Газинформсервис» Михаил Спицын. — Размещение таких данных в открытых репозиториях или документах эквивалентно предоставлению злоумышленникам несанкционированного доступа к системе».

Похожие атаки были проведены лет пять назад на серверы Microsoft Exchange. Злоумышленники пытались использовать ошибку разработчика, которую тот устранил двумя неделями ранее: все экземпляры Exchange Server использовали одни и те же значения validationKey и decryptionKey, прописанные в web.config.

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

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