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

Яндекс Pay перестал работать у части пользователей IPv6

Пользователи начали замечать странное поведение приложения Яндекс Pay — оно может отказывать в работе тем, кто выходит в интернет через IPv6, особенно если используется 6in4-туннель (например, Hurricane Electric).

На проблему обратил внимание пользователь «Хабра» с ником po3dno. По его словам, это проявляется следующим образом: если открыть pay.yandex.ru в браузере, сервис работает нормально: определяется IPv4-адрес, и личный кабинет доступен без ограничений.

А вот в мобильном приложении ситуация другая. Оно, как утверждается, делает запросы по IPv6, определяет адрес как «не российский» — и на этом всё: доступ блокируется.

Получается парадоксальная ситуация: один и тот же пользователь с одного устройства может пользоваться сервисом через браузер, но не может через официальное приложение.

Судя по описанию, проблема связана именно с особенностями определения геолокации по IPv6. В случае с туннелями вроде 6in4 трафик может выходить через зарубежные точки, из-за чего сервис воспринимает пользователя как находящегося вне России.

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

Напомним, вчера мы писали, что у части российских пользователей с включёнными средствами обхода блокировок (VPN) перестали частично открываться или вовсе работать сайты и приложения крупных российских платформ, включая «Яндекс», VK, маркетплейсы и банковские сервисы.

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