Спецпроекты

С помощью медиплеера VLC можно захватить чужой ПК

Безопасность

Обновление к популярному плееру VLC устраняет целый ряд проблем, которые могли приводить к падению плеера или запуску вредоносов. Воспользоваться багами никто не успел.

Проблемы плеера VLC

Разработчики популярного медиаплеера VLC устранили ряд уязвимостей, допускавших запуск произвольного кода в контексте текущего пользователя.

VLC — это свободный кроссплатформенный медиапроигрыватель, который проект VideoLAN разрабатывает с 1990-х годов. На сегодняшний день это один из самых популярных медиаплееров, поддерживающий огромное количество форматов воспроизведения и трансляции медиаконтента.

Проблемы, обнаруженные экспертом Чженем Чжоу (Zhen Zhou) из NsfocusSecurityTeam, представляют собой «классические» ошибки — переполнение буфера и недопустимые указатели.

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

vlc600.jpg
Ошибки в медиаплеере VLC позволяли запускать произвольный код

Такая ошибка может вызывать аварийное завершение или зависание программы, ведущее к «отказу в обслуживании» (DoS), однако в некоторых случаях у злоумышленника появляется возможность загрузить и выполнить произвольный код от имени программы и с правами учетной записи, от которой она выполняется. Именно это и наблюдалось в случае с VLC. Причем в бюллетене безопасности упоминается, что были исправлены сразу две такие ошибки.

Кроме этого упоминается ошибка некорректного разыменования указателей (invalidpointerdereference). Это дефект, при котором программа обращается по некорректному указателю к какому-то участку памяти. Такое обращение приводит к сбою в поведении программы и в большей части случаев к ее аварийному завершению. Иногда следствием такого дефекта может становиться и переполнение буфера с вышеописанными последствиями.

Некоторые подробности уязвимостей

Эксплуатация этих ошибок в VLC возможна, если пользователь откроет в плеере специально подготовленный файл или подключится к стриму, созданному злоумышленниками. Плеер в таком случае либо «падает», либо у злоумышленников возникает возможность запустить произвольный код удаленно. Технологии ASLR и DEP снижают вероятность эксплуатации, но существуют способы их обойти.

И хотя разработчики плеера утверждают, что свидетельств активной эксплуатации уязвимостей они не видели, всем пользователям рекомендовано установить версию 3.0.12. Она выпущена одновременно для Windows, macOS и Linux.

Помимо этих багов новая версия исправляет целый ряд других ошибок и недочетов, в том числе тех, которые могли вызывать сбои в плеере в целом или в его отдельных модулях. Также реализована встроенная поддержка AppleSilicon/ARM-64.

«VLC — это красноречивый пример успешной и популярной разработки с открытым исходным кодом, со всеми достоинствами и недостатками, — считает Анастасия Мельникова, эксперт по информационной безопасности компании SEC Consult Services. — В нем регулярно находятся серьезные ошибки, тем более опасные, что плеер действительно пользуется огромной популярностью, но от них удается быстро избавляться, поскольку аудитом исходного кода на предмет ошибок занимается сразу множество людей. Как правило, баги выявляются и устраняются до того, как злоумышленники успевают ими воспользоваться».