В знаменитом российском архиваторе WinRAR 14 лет существует опасная дыра
Библиотека для парсинга устаревшего формата, лишенная защитных механизмов, ставит под угрозу полмиллиарда пользователей архиватора WinRAR. Исправить эту библиотеку не представляется возможным, поэтому формат ACE в WinRAR больше поддерживаться не будет.
Древний баг в WinRAR
Эксперты по безопасности компании CheckPoint обнаружили серьезную уязвимость в популярном архиваторе WinRAR, созданном в 1995 г. российским программистом из Челябинска Евгением Рошалом. Багу не менее 14 лет. Он появился в программе не позднее 2005 г.
Уязвимость содержится в библиотеке unacev2.dll, используемой для парсинга (синтаксического анализа) давно устаревшего и редко используемого формата архивов ACE; этот формат был разработан еще в 1990 г.
На практике злоумышленник может подсунуть жертве вредоносный архив ACE, замаскированный под файл RAR. При открытии этого файла WinRAR уязвимость, известная как выход за пределы назначенного каталога, позволяет злоумышленнику разархивировать содержащиеся внутри файлы в произвольный каталог Windows — по выбору злоумышленника.
Само по себе это довольно неприятная ошибка, но в определенных ситуациях она может представлять собой совершенно критический риск. Эксперты CheckPoint установили, что хотя WinRAR по умолчанию не имеет прав на доступ к стартовой папке WindowsC:\ProgramData\Microsoft\Windows\StartMenu\Programs\StartUp, вторичная папка C:\Users\<username>\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup для WinRAR вполне доступна. А это значит, что злоумышленник, знающий локальное имя пользователя, может использовать этот баг для выгрузки в данную папку вредоносного исполняемого файла, который будет запущен при следующей перезагрузке устройства.
Резать без наркоза
В публикации CheckPoint отмечается, что проблемная библиотека была скомпилирована без использования каких-либо защитных механизмов (ASLR, DEP и т. д.), что делало ее вдвойне уязвимой.
Уязвимая библиотека не обновлялась с 2005 г., а компания-разработчик прекратила деятельность еще в 2017 г. Разработчики WinRAR не имеют доступа к исходному коду ACE, и поэтому объявили, что избавляются от дальнейшей поддержки этого формата, начиная с версии WinRAR 5.70 beta 1.
«Обратная совместимость — своего рода священная корова популярных программных пакетов, однако очень часто она становится обузой и источником серьезных рисков, — говорит Олег Галушкин, директор по информационной безопасности компании SECConsultServices. — Данная ситуация свидетельствует как раз об этом: антикварная библиотека, которую не обновляли 14 лет, ставит под угрозу полмиллиарда пользователей по всему миру. Решение избавиться от нее — единственное верное. Еще хорошо, что формат ACE сегодня уже никем не используется».