Написать пост

Valve исправила в Steam баг десятилетней давности

Аватар Тимур Кондратьев

Уязвимость позволяла выполнять код удаленно даже без доступа к машине жертвы. Злоумышленник достаточно было отправить в Steam вредоносный пакет. Брешь эксплуатировала ошибку переполнения буфера в одной из внутренних библиотек клиента, взаимодействующей с UDP-датаграммами.

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

Как работала уязвимость?

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

Случайное исправление

Исследователи, обнаружившие брешь, утверждают, что ее практически устранило июльское обновление. Оно принесло поддержку ASLR в настольный клиент сервиса. Благодаря такой защите программа в большинстве случаев просто «вылетала». Однако злоумышленники все еще могли воспользоваться уязвимостью, узнав местонахождение Steam в памяти компьютера.

Том Корт из Context Information Security сообщил Valve об ошибке в феврале 2018 года. В течение 12 часов разработчики выпустили тестовое исправление для бета-версии клиента. Финальное обновление вышло в апреле 2018 года.

В конце мая 2018 года Том Корт рассказал об этой уязвимости подробнее в блоге компании. Также он приложил proof-of-concept видео:

Превью видео 0QaozC8S0Aw

Steam — не единственный сервис с такими старыми уязвимостями. Например, в марте 2018 года в менеджере паролей браузера Firefox была обнаружена брешь девятилетней давности.

Следите за новыми постами
Следите за новыми постами по любимым темам
7К открытий7К показов