Критический баг в 7-Zip приводит к выполнению произвольного кода

Критический баг в 7-Zip приводит к выполнению произвольного кода

Критический баг в 7-Zip приводит к выполнению произвольного кода

В популярной бесплатной утилите 7-Zip обнаружена уязвимость. Брешь нашел эксперт, известный под прозвищем LANDAVE. Напомним, что 7-Zip представляет собой свободный файловый архиватор с высокой степенью сжатия данных.

Недостаток в безопасности получил идентификатор CVE-2018-10115, LANDAVE опубликовал его детали только после того, как стал доступен соответствующий патч.

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

Код архиватора довольно сложен, так как он поддерживает множество различных методов сжатия, включая специальную систему, которая объединяет несколько файлов. LANDAVE обнаружил, что код декомпрессии UnRAR, используемый 7-Zip, не был сконфигурирован должным образом.

Таким образом, при его использовании можно столкнуться с катастрофическим сбоем в коде RAR. Проще говоря, неинициализированные переменные в коде UnRAR открыли пространство для создания вредоносного файла-архива, с помощью которого можно выполнить произвольный код.

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

LANDAVE создал PoC-код (proof-of-concept), который демонстрирует, как можно создать RAR-файл, который при открытии запустит приложение Калькулятор.

Если эксперту удалось таким образом запустить CALC.EXE, он сможет запустить любой файл, в том числе вредоносный.

Пользователям рекомендуется как можно скорее обновить свои инсталляции 7-Zip.

Подпишитесь на новости

Обновите Telegram для Android: версия 13.2.2 закрыла опасную уязвимость

Telegram исправил уязвимость в HTML-виджетах, которые мессенджер открыл для ботов 9 ноября. Через ошибку скрипт из обычного сообщения мог выйти за пределы песочницы и выполнить машинный код на устройстве. Проблема находилась в движке JavaScript QuickJS, который Telegram использует в собственном форке QuickJS-ng.

Патч описан в журнале изменений песочницы виджетов Telegram на GitHub. Парсер QuickJS принимал конструкцию await using в заголовке цикла даже внутри обычных, неасинхронных функций.

В таком случае движок завершал функцию по пути для асинхронного кода и не закрывал ссылки на ее локальные переменные. Вложенные функции после возврата продолжали обращаться к уже освобожденному участку стека. Такой класс ошибок называют use-after-return.

О проблеме сообщили применительно к Telegram для Android 13.2.1, но, по данным Telegram, она затрагивала все платформы, где собирается форк движка. Исправление внесли 10 ноября: теперь парсер выдает синтаксическую ошибку на такую конструкцию. В тот же день вышла версия Telegram для Android 13.2.2.

Уязвимый код попал в основную ветку QuickJS-ng 16 мая вместе с поддержкой явного управления ресурсами. Ошибку описал разработчик Андреас Рёсдал.

9 ноября он опубликовал в репозитории QuickJS-ng аудит безопасности всего движка, проведенный с помощью модели Claude от Anthropic. В отчете 27 находок, уязвимость с await using в нем третья, с высоким уровнем опасности.

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