В коде Steam исправили критическую уязвимость, просуществовавшую больше десяти лет

На брешь в защите из-за простого бага обратили внимание лишь в начале 2018-го.

30 мая специалист по кибербезопасности Том Корт (Tom Court) описал уязвимость в коде клиента Steam, которую сам же и помог обнаружить разработчикам.

Эксплойт был связан с тем, как программа работает с фрагментами блоков информации, передающимися через UDP и собственный протокол Steam. В определённых условиях могло произойти повреждение содержимого памяти, что позволяло осуществить удалённое выполнение кода (RCE).

Уязвимости подобного рода считаются одними из самых опасных, так как фактически дают взломщику доступ к ПК жертвы.

Демонстрация работы эксплойта — запуск калькулятора через клиент Steam

По словам Корта дело, скорее всего, было в невнимательности программистов, так как ошибка была достаточно простой и просуществовала в Steam как минимум десять лет. Похоже, что старая часть кода, где и находился баг, в остальном работала исправно, и у Valve попросту не было причин проверять её на соответствие всем современным стандартам безопасности.

При этом эксплойтом стало пользоваться куда сложнее с июля 2017 года, когда разработчики переработали защиту от уязвимостей. После обновления при попытке взлома тем же путём Steam попросту «вылетал».

Корт сообщил о «дыре» в феврале 2018-го, и Valve выпустила бета-версию патча спустя лишь восемь часов — удивительно быстро, отмечает эксперт. Окончательно уязвимость устранили 22 марта.

В начале мая 2018-го Valve запустила программу денежных вознаграждений за найденные в коде Steam уязвимости.

3636
45 комментариев

"Похоже, что старая часть кода, где и находился баг, в остальном работала исправно, и у Valve попросту не было причин проверять её на соответствие всем современным стандартам безопасности"
Раньше стандарты безопасности разрешали не проверять свой код на наличие багов?

23

Спросите это инженеров Intel и AMD.

31

Так исправно же работала, о каких багах речь?

10

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

1

Раньше стандарты ГОСбезопасности запрещали проверять свой код на наличие багов.
/пофиксил, шурша шапочкой

В стиме уже много лет существует одна огромная уязвимость - жирнейший и древнейший хромиум

11

Не такой уж и древний

4