Steam Windows Client Local Privilege Escalation 0day

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


    Итак, герой нашей истории — ПО Steam от компании Valve. И уязвимость повышения привилегий в нем, которая позволяет любому пользователю выполнить команды от имени NT AUTHORITY\SYSTEM.

    Уязвимость


    Сама уязвимость довольно простая. Steam для своей работы устанавливает сервис “Steam Client Service”. Глянем на SDDL-описатель сервиса:

    O:SYG:SYD:(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;RPWP;;;BU)

    Здесь нас интересует часть (A;;RPWP;;;BU). В данном случае, эта запись означает, что запускать и останавливать сервис может любой пользователь из группы «Пользователи».
    Посмотрим, что сервис делает при старте. Не особо много интересного, но есть часть операций, которые выглядят необычно — сервис перечисляет содержимое раздела HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps и для всех подразделов выставляет какие-то права.



    Интересно, что же за права выставляются? Создаем тестовый ключ, запускаем сервис (лог procmon’а выше) и смотрим, что с правами. Тут и обнаруживается, что еще у раздела HKLM\SOFTWARE\Wow6432Node\Valve\Steam выставлены права на полный доступ для всех пользователей, которые наследуются на все подключи. Рождается гипотеза, что такие же права будут выставляться и всем подразделам HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps через вызов RegSetKeySecurity. А что если в реестре будет стоять симлинк, и ветка HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps\test будет указывать, например на HKLM\SOFTWARE\test2?

    Проверяем и видим, что права в случае симлинка прописываются для целевой ветки реестра.



    Проверяем права у целевой ветки и видим в SDDL-форме (пропуская неинтересное):

    (A;ID;KA;;;BU)(A;OICIIOID;GA;;;BU)

    В словесной форме это означает, что полный (чтение и запись) доступ для всех пользователей. Именно такие права прописал ветке сервис Steam.

    Теперь, когда подготовлен примитив по получению контроля над практически любой веткой реестра, докрутить PoC уже легко. Я выбрал ветку HKLM\SYSTEM\ControlSet001\Services\msiserver — она соответствует сервису «Установщик Windows», который тоже может быть запущен пользователем, но работать сервис будет с правами NT AUTHORITY\SYSTEM. После получения контроля над веткой HKLM\SYSTEM\ControlSet001\Services\msiserver мы меняем путь к исполняемому файлу в ключе ImagePath и запускаем сервис msiserver. Наш исполняемый файл запускается с максимально возможными правами — NT AUTHORITY\SYSTEM.

    Собираем все, что написано выше в код и получаем простое повышение привилегий на любом компьютере с Windows, где установлен Steam.

    Сообщение об уязвимости


    Я отправил отчет об уязвимости в Valve через Hackerone.

    Тут меня ждала первая неожиданность — прежде чем передавать уязвимость непосредственно в Valve, мне нужно было сначала убедить hackerone staff в том, что у меня действительно отчет об уязвимости, так как Valve используют функцию «Managed by HackerOne». Мне не жалко — у меня PoC, который вызывает консоль от имени NT AUTHORITY\SYSTEM — доказательства на лицо. И я получаю отказ в отчете. Причиной указывается, что мой отчет вне скоупа исследований, поскольку «Attacks that require the ability to drop files in arbitrary locations on the user's filesystem.» (атака требует возможности располагать файлы в произвольных путях файловой системы). Моя реакция: «У меня даже нет ни одной операции с файловой системой, но отказ по такой причине, серьезно?»

    Пишу комментарий об этом и приходит другой сотрудник, который все же берется проверять уязвимость. Подтверждает ее и передает Valve. Ура, цель достигнута. Или нет…?

    Проходит время и отчет снова помечается как неприменимый. Причины: «Attacks that require the ability to drop files in arbitrary locations on the user's filesystem» и «Attacks that require physical access to the user’s device» (атака требует физический доступ к устройству пользователя). Тут я понял, что атаки на повышение привилегий попросту не интересны Valve.

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

    Например, в причине «Attacks that require the ability to drop files in arbitrary locations on the user's filesystem» я выделил ключевые, на мой взгляд, слова. Мне казалось, что такой причиной Valve хотели исключить спекуляции на тему «давайте я установлю игру в папку, доступную всем пользователям, затем буду запускать ее с правами админа, не проверяя не подменил ли кто файлы», но для них это, видимо, повод исключить вообще все что касается локальных атак.

    Тоже самое и с физическим доступом. Для меня, физический доступ — это возможность отверткой открутить болты жесткого диска, загрузиться с внешнего носителя и другие интересные вещи непосредственно с оборудованием ПК. Довольно логично предположить, что имея такой доступ можно сделать почти все, что угодно. Равно как и преодолеть двухфакторную аутентификацию при физическом доступе к телефону. Valve же, видимо, любое действие на компьютере пользователя рассматривает как физику. Так и RCE запретить недолго: компьютер же соединен с серверами волнами или проводами — физически!

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

    Небольшие статистические данные: уязвимость была проверена на Windows 8 x64, Windows 8.1 x64 и Windows 10 x64. Я не знаю особенностей нумерации версий ПО Steam, поэтому зафиксирую версии компонентов сервиса:

    • SteamService.dll (5.16.86.11, подписан Valve 14.06.2019)
    • SteamService.exe (5.16.86.11, подписан Valve 14.06.2019)

    Таймлайн:

    15 июня — отправлен отчет об уязвимости.
    16 июня — отклонен, «Attacks that require the ability to drop files in arbitrary locations on the user's filesystem.».
    16 июня — переоткрыт с комментарием.
    2 июля — подтвержден сотрудником HackerOne, передан Valve.
    20 июля — отклонен, «Attacks that require the ability to drop files in arbitrary locations on the user's filesystem.», «Attacks that require physical access to the user’s device.».
    7 августа — опубликована эта статья.

    Немного спекуляций


    Я очень разочарован. Серьезная компания, которая пишет пафосные слова о том, что безопасность важна, открывает ваш компьютер для максимального доступа любым программам, которые вы запускаете.

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

    Благодаря популярности Steam, количество потенциальных пострадавших очень велико. В 2015 году количество активных учётных записей Steam оценивалось как 125 миллионов. Да, не у всех пользователей Steam ОС Windows, но у большинства точно, и у каких-то пользователей по нескольку «живых» аккаунтов на одной машине. Но масштабы проблемы все же впечатляют.
    А может все это оставлено специально? Может, Steam — это своего рода легальный бекдор? Точно установить это невозможно, но давайте сопоставим факты:

    1. Есть уязвимость, которую легко эксплуатировать (причем, судя по сообщениям в твиттере, не одна).
    2. Ее довольно легко обнаружить — я не уверен, что я первый нашел ее, но как минимум первый описал публично.
    3. Нежелание принимать отчет о такой уязвимости и похожих (скоуп специально выбран так, что повышение привилегий из него выпадает).

    Все это мне очень не нравится. Я не буду призывать вас удалять Steam, но предлагаю быть очень внимательным с тем, что он делает. На кону ваша безопасность.

    Бонус


    Дело в том, что в процессе подготовки этой статьи произошло довольно интересное событие, в связи с которым я решил дополнить таймлайн.

    20 июля — после отклонения отчета, я предупредил h1, что публично раскрою детали уязвимости после 30 июля.
    2 августа — еще один сотрудник h1 отмечается в закрытом отчете и говорит, что они не разрешают мне проводить раскрытие.

    Данная статья была подготовлена к публикации уже к 30 июля (такая дата была выбрана из расчета 45 дней после отправки отчета), но задержалась. И вот, спустя две недели от моего сообщения 20 июля, появляется человек, который говорит мне: «мы не даем разрешение на раскрытие уязвимости». Фактически, получается: мы отметили твой отчет, как неподходящий, мы закрыли обсуждение, мы не посчитали нужным ничего тебе объяснять и мы просто не хотим, чтобы ты публиковался. При этом не единого слова от Valve. Нет, ребята, так дело не пойдет. Вы не стали уважать мою работу, я не буду уважать вашу — не вижу причин не публиковать этот отчет для всех. Скорее всего меня забанят на h1 из-за этого, но я огорчаться не стану.

    UPD. Оказывается вчера (6 августа) вышло обновление Steam. Нет, оно ничего не исправило.
    Версия файлов: 5.27.59.20 подпись от 6.08.2019.

    После раскрытия


    Продолжаем обновлять таймлайн:

    7 августа (после публикации) — отчет на h1 переоткрыли. Мне пришло письмо, суть которого сложно уместить в двух словах, но самое важное сводилось к тому, что нужно привести какие-то убдительные доводы, к тому, что последствия уязвимости значимы. Там же было «Valve is not going to fix something that they have determined to be N/A». Эти слова лишний раз подтвердили мое убеждение, что я прав в том, что провел публичное раскрытие деталей.

    7 августаМэтт Нельсон пишет, что уязвимость о которой он репортил ровно та же, что и у меня. Что подтверждает мой тезис о легкости ее нахождения. Он же открывает свой PoC.


    9 августа — Steam Beta получает обновление, где одна из строк «Fixed privilege escalation exploit using symbolic links in Windows registry». Есть подозрения, что фикс можно обойти, но пока запасемся попкорном.

    13 августа — Steam получает обновление, где одна из строк «Fixed privilege escalation exploit using symbolic links in Windows registry». Похоже, что сервис не выставляет права в реестре, так что можно считать, что пофикшено.

    15 августа — исследователь показал, что патч можно обойти, уязвимость все еще актуальна. Обход вкратце — можно вернуть предыдущие (до патча) версии сервиса.

    20 августа — Valve забанили меня в своей программе на H1. Остальной H1 мне доступен.

    This article in english.
    Перспективный мониторинг
    542,14
    Компания
    Поделиться публикацией

    Комментарии 126

      +9
      На самом деле очень жирная дырка для ситуаций гостевого доступа к целевому компьютеру. Возможно, что стоит уведомить об этой проблеме Microsoft, так как в первую очередь такое вольное обращение с привилегированным доступом бьёт по безопасности Windows. А уже Microsoft вольна применить санкции к Valve, вынудив изменить алгоритмы работы сервиса.
        0
        Не уверен что Microsoft пойдет на это, это выбор пользователя, ставить такой софт, зная о проблеме или нет.
          +14
          Тогда и с малварью не надо бороться — пользователь сам ставит всякую фигню, запускает подозрительные файлы и так далее. Но нет. Думаю есть смысл попытаться — MS проще решить проблему кулуарно не дожидаясь какой-нибудь очередной эпидемии NotVasya
            +3
            Не совсем. Пользователь ставит Steam, потому что Valve это солидная корпорация, которой, как считает пользователь, можно доверять. Разумеется, даже солидная, достойная доверия фирма может допустить уязвимость в софте, никто от этого не застрахован. Но достойная доверия фирма моментально делает все возможное для защиты пользователей, как только она узнала о новой уязвимости. Поскольку Valve информацию об уязвимости попросту проигнорировала, тупо подставив миллионы доверяющих ей пользователей под удар, она перестает быть достойной доверия фирмой, а ее дырявый софт превращается в уязвимость для фирмы Microsoft. Потому что если с помощью этой дыры кто-то удачно запустит malware, это бросит тень не только на Valve, но и на Microsoft — ведь компьютеры с другими ОС не пострадают. И сейчас уже очередь Microsoft сделать все возможное, чтобы защитить своих пользователей и оправдать их доверие. Учитывая колоссальное количество пользователей Steam, адекватным было бы официальное уведомление на сайте Microsoft о наличии уязвимости в этом ПО, а тогда уже пользователи могут сами решать, ставить такой софт, зная о проблеме, или нет. Конечно, сайт Microsoft мало кто читает, но сми быстро растиражировали бы эту новость, и необходимый эффект был бы достигнут.

            На деле, конечно, достаточно будет короткого мейла от Microsoft в Valve с угрозой выкатить подобное предупреждение, чтобы Valve, вырывая на жопе волосы, бросила все силы на закрытие дыры.
              0
              На самом деле всё немного иначе, МС в таких случаях угрожает перевести подпись в не-доверенные а не вывешивает предупреждение.
              Но помогает вроде как тоже неплохо!
                0
                Не только. Есть много вариантов в зависимости от софта:
                1. Удалить всё (через Windows Installer или просто очисткой файлов) при установке очередного обновления безопасности.
                2. Принести системный shim базируясь на версии подписанного файла, который будет виртуализировать часть вызовов из nt system в юзерспейс. А тут файлы подписаны.
                3. Добавить сигнатуры в Windows Defender.
                Вопрос всегда в масштабах и шумихе.
            +4
            Я думал об уведомлении MS, учитывая, что они как раз опубликовали Safe Harbor (https://www.microsoft.com/en-us/msrc/bounty-safe-harbor), но все же ситуация не та — MS не виноваты и Valve не третья сторона, а первая.
            MS не виноват и, в общем смысле вряд ли, имеет право указывать на ошибки.
              +1

              МС, конечно, не виноваты. Но наверняка у них есть требования к разработчикам сервисов с системным уровнем доступа на тему делегирования прав и защиты от несанкционированного использования.

                +3
                У МС весьма своеобразные представления о том, что является границами безопасности. Даже среди своих компонентов они не все считают необходимым защищать. В стороннее ПО они не полезут и подавно. Например, посмотрите на мой обход UAC (https://habr.com/ru/company/pm/blog/328008/) — до сих пор работает.
                  0
                  Я может что-то не верно понял, но Steam не имеет системных прав, он работает в контексте админа, но не системы. А повышение до системных уже происходит через msiserver. Тут суть в том что мы стимом меняем права на msiserver.
                    +6
                    Системные права и права админа практически не различимы. Разница скорее терминологическая, чем реальная.
                      +1
                      Steam Client Service работает в контексте системы.
                    +1
                    Прошу извинить, если скажу глупость, но я не разбираюсь в теме безопасности.
                    Вопрос такой — а насколько вообще корректна ситуация, что в Реестре Windows можно менять права у веток, на которые ссылаются симлинки? Другими словами, что мешает реализовать аналогичный подход без использования Steam? Ведь, если я правильно понял из текста, достаточно просто обладать правами на какую-то свою ветку в реестре и иметь возможность устанавливать права для дочерних веток. Нужны ли здесь вообще какие-то программы?
                      +2
                      Строго говоря, нет ничего плохого, чтобы делать какие-то операции через симлинки. Ведь для этого они и были придуманы.
                      Без стима это все делать нельзя по ряду причин:
                      1) Симлинки из менее защищенных веток в более защищенные не работают (условно говоря, симлинк из HKCU в HKLM не будет работать).
                      2) Чтобы создать симлинк в HKLM в 99,99% ключей нужно уже иметь права администратора, по дефолтным правам доступа.
                        +3
                        Понятно. Спасибо за объяснение!
                          0
                          То есть проблема получается в том, что сервис устанавливает общие права доступа для ключа, который находится в защищенной ветке реестра HKLM? И это позволяет создать симлинк из нее в другую защищенную, и доступ по этому симлинку будет работать с правами исходной ветки?
                          Это выглядит как-то странно. Получается, ни в коем случае нельзя давать доступ на запись обычным пользователям ни в один из ключей из HKLM?
                            +1
                            Вы неправильно вывели общее из частного.
                            Получается, не надо давать доступ на запись обычным пользователям в те папки, с которыми, в последствии, будут происходить манипуляции.
                            Сам по себе симлинк не дал никаких новых прав — это сделал сервис, пройдя по симлинку.
                              +1
                              А, теперь понял, спасибо.
                          +1

                          Программы нужны. Права-то меняет не атакующий, а именно что Steam Client Service, в процессе рекурсивного обхода "своей" ветки реестра.

                            0
                            Именно так.
                        –5

                        M$ начхать даже на кривые драйвера, что говорить о сервисе.


                        Ядро монолит изжило себя и с каждым днем будет только хуже, как же долго я ждал этого дня :D


                        https://www.unknowncheats.me/forum/anti-cheat-bypass/334557-vulnerable-driver-megathread.html

                          +1
                          А много вы знаете ОС с не монолитом? И готовы ли терпеть тормоза микроядер?
                            0
                            Интересно, сколько лет ещё будет жить миф про тормоза микроядер?.. Уж вроде не ЕМНИП 1986-й год, когда, появился MACH — микроядро первого поколения, которое действительно тормозное(и да, которое до сих пор используется в макос), а народ повально до сих пор бубнит про тормоза микроядерных систем…
                              0

                              Вот как появится микроядерная ось без тормозов — тогда и перестанут про тормоза микроядер говорить.

                                0
                                Интересно, QNX, это ось с тормозами или нет? Ну правда про неё-то все знают(и почему-то забывают), а про микроядро seL4, на котором делают туда-сюда всякое, для американских вояк, в курсе только те кто темой действительно интересуется.
                        +16
                        > мы не даем разрешение на раскрытие уязвимости
                        Не совсем понятно — при чем тут сотрудник h1 и его запрет
                        Valve отклонили отчет об уязвимости — т.е. они считают это не уязвимостью, а, вероятно фичей.
                        Почему бы и не рассказать всем о такой классной фиче? основания для запрета?
                          +4
                          Вы верно уловили мои мысли. Но никакого обоснования предоставлено не было, хоть я и запрашивал.
                            0
                            Правильно ли я понимаю — чтобы пофиксить в Windows, достаточно выключить полный доступ всем кроме системы и группе админов для ветки HKLM\SOFTWARE\Wow6432Node\Valve\Steam + подразделов?
                              +2
                              Не уверен.
                              1) Сервис пропишет все права обратно, он же этим и занимается.
                              2) Даже если посчитать что убрать права достаточно — эти ветки созданы для настроек игр (ну как я понял) и хз что сломается, если права убрать.
                          +2

                          (мимо с линуксовой версией стима пробегал)


                          Т.е. я всё сделал правильно, когда при установке стима ни разу не дал ему рутовых прав (включая ручную распаковку deb'ки). В своём песочном пользователе steam он может копошиться, а в чужие домашние каталоги и в систему — ни-ни.

                            +3
                            Все правильно сделали
                              +12

                              Это вы правильно делаете. Slack, например, в своем deb-файле пытается всунуть shell-скрипт в крон от рута, по комментариям в коде — чтобы восстанавливать себя в списке источников для менеджера пакетов, если запись будет закомментирована при обновлении системы. Но, конечно, добавляя себя в список источников, он позволяет компании Slack Inc перезаписать любой файл в системе, включая sshd или bash, например.

                              0
                              Я не являюсь специалистом безопасности и юриспруденции, но у меня появился вопрос. Если я разработаю полноценный MalWare на основе этой уязвимости и опубликую весь исходный код (с подробными комментариями к коду) на общедоступных форумах в виде обращения с просьбой устранить данную уязвимость в логике работы программы Steam, будет ли это считаться чем-то незаконным?
                                +3
                                Вне зависимости, ваша деятельность будет расценена как УК РФ Статья 273 Создание, использование и распространение вредоносных компьютерных программ. И будет считаться незаконной.
                                  0
                                  А можно ли в таком случае обратиться куда-то, кроме Steam, если данная недоработка добавляет уязвимости в систему? Может в Касперский, Dr.Web или другие безопасники возьмутся за эту проблему? Допустим что Dr.Web обратится к Steam, с требованием удалить данную уязвимость, по причине создания дыр в безопасности. Они могут ведь поставить ултиматум, причисляя данное ПО к потенциально опасному?
                                    0
                                    Крайне сомнительно. Антивирусы обычно таким не интересуются.
                                      +1
                                      Жаль. А потом удивляемся, откуда у нас появляются not petya. Спасибо за ответы. Есть надежда, что этот пост увидят безопасники или хоть какие то энтузиасты, а не профессиональные( и не очень ) спецы по написанию вредоносов.
                                        0
                                        Интересуются. Тот же касперский имеет модули поиска уязвимости в ПО. Правда работают тормозно. Но они есть. В энтерпрайзном KES10+ точно были.
                                      –3
                                      Попадает ли bat файл с содержимым: «del C:\Windows» — под понятие «вредоносная компьютерная программа»?
                                        +8
                                        Хорошо, что не я это решаю
                                          +1
                                          Кто может объяснить мне причину минусования коммента? Невозможно юридически, четко разграничить понятия «вредоносная компьютерная программа» и «программа».
                                            0
                                            А вы почитали статью УК РФ, на комментарий со ссылкой на которую ответили? Там же все четко написано. Вот, специально выделил самый сок:
                                            "Создание, распространение или использование компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации"

                                            То есть — да, является. Программа из одной команды — тоже программа. Программа, содержащая команду «del C:\Windows», которая будет выполнена с повышенными правами без ведома пользователя — заведомо предназначена для несанкционированного уничтожения компьютерной информации
                                              0
                                              А как отличить, эта строчка предназначена для несанкционированного уничтожения или санкционированного?

                                              По идее, для отнесения к «заведомо предназначенным» программа помимо собственно деструктивных действий, должна содержать еще и средства маскировки от пользователя.
                                                +1
                                                Насколько я понимаю, сама строчка такой информации не дает. Намерения автора выясняются другими путями. Т.е. ваш вопрос изначально некорректен.
                                                  0
                                                  Так и я про то же.
                                                  А вот из утверждения товарища выше вытекает, что дает.
                                                    0
                                                    А, прошу прощения, показалось, что первый вопрос в треде — ваш.
                                                  0
                                                  почитайте про термин " несанкционированный доступ", если вкратце, то несанкционированное уничтожение, это такое уничтожение, для которого у вас нет соответствующих прав доступа, но вы все равно уничтожаете. Или перед вами дверь, к которой у вас нет ключа, а вы взяли и открыли, хотя вам нельзя.
                                                    0
                                                    Ну и вот как выяснить, есть права или нет — только по такой вот одной строчке?
                                                    Drazd утверждает, что такой bat-файл таки является «заведомо предназначенным для несанкционированного уничтожения». Вот мне и интересно, а как он узнал, для несанкционированного или санкционированного?

                                          –5
                                          Пожалуйста, не делайте так.
                                          0
                                          Не ожидал от Valve такой реакции…
                                            +2
                                            Я, к сожалению, ожидал. В посте есть ссылка на твиттер enigma0x3, которому, фактически, дали отворот сами Valve без посредников.
                                            0
                                            Я на всякий случай спрошу, а нельзя ли сам SteamService.dll/SteamService.exe переписать? Там права верно установлены?
                                              0
                                              Переписать нельзя. Да, верно установлены. На эти файлы действуют права-умолчанию, с ними все нормально.
                                              0

                                              Интересно, а в конкурирующих площадках не были найдены подобные уязвимости? К примеру, в стремительно набирающим популярность Epic Games?

                                                0
                                                Не готов это комментировать.
                                                  0
                                                  Подобной нет, но есть кое-что.
                                                    0

                                                    Интересно, а не занимается ли чем-то подобным давно набравший популярность Стим?

                                                  +2
                                                  Это вызывает риторический вопрос — сколько еще таких уязвимостей не опубликовано?
                                                  Просто у них баг с залипанием клавиши Tab не фиксится уже более 10 лет.
                                                    0
                                                    Так это баг?! А я все на свою клавиатуру грешил, да на кривые руки.
                                                      0
                                                      Это свойственно Valve. Так, они практически не фиксят баги в своих играх, которые не приносят им регулярного дохода (т.е. во всех, кроме, доты 2, ксго, тф2 и артефакта). Скатились ребята…
                                                        0
                                                        В CS 1.6 даже новые фичи добавляют, о чём ты?
                                                          0
                                                          Добавлять фичи — не баги фиксить)) Интересно какие там появились плюшки?

                                                          Я говорю, к примеру, о присутствии в hl2dm ряда откровенно явных косяков, которых до определенного обновления и не было. После их появления прошло уже несколько лет, об этом не раз писали в Вэлв, но ничего до сих пор не пофиксили. Вывод — им просто наплевать на игру, которая не приносит им дохода, и на комьюнити тоже.
                                                          Больше даже смахивает на то, что они умышленно эти баги добавили))
                                                            0

                                                            Если быть точным, то баги в хл2дм уже 9 лет не могут пофиксить :)

                                                          +1
                                                          Артефакт приносит разве доход? У него онлайн меньше 200 человек.
                                                            0
                                                            Потенциально должен будет приносить, ибо Вэлв больше играми без доната не занимаются. Про хардкорные FPS без шапок можно забыть.
                                                              0
                                                              Ну тут я скорее не соглашусь, проект мертвый, а реанимировать игры Valve не умеет. Все что живо — живо за счет игроков (модели и режимы в L4D2, кастомные карты в Dota 2). Я не верю в Артефакт, и в то, что они за него возьмутся. Был вроде перевод на хабре статьи от одного из крупных игроков в ККИ, который сказал, что кучу его замечаний, и замечаний других экспертов, Valve просто проигнорировала (когда Артефакт был на ранней стадии). Как они с таким подходом смогут заставить игроков вновь в артефакт играть?
                                                                0
                                                                Я имел ввиду, что Артефакт создавался не столько для продажи, сколько для обильного заработка на внутриигровом контенте (а о его будущем судить не берусь). Вэлв давно взяли для себя такую модель заработка. И поэтому игры, в которых «не торгуют шапками», Вэлв практически не поддерживает.

                                                                Все что живо — живо за счет игроков (модели и режимы в L4D2, кастомные карты в Dota 2)
                                                                Все верно, но игрокам свойственно вырастать, обзаводится семьями и, зачастую, утрачивать возможность/желание играть в игры)) А для того, чтобы более младшие поколения тоже играли в эти же игры, их нужно поддерживать (обновлять движок, текстуры, придумывать новые фичи, как-то актуализировать игру, которой уже 5-10 лет). В противном случае потенциальные игроки могут даже не заметить такую игру. Что в итоге и случилось с Half-Life 2: Deathmatch, к примеру.
                                                            0
                                                            Скорее это просто ValveTime.
                                                          +1
                                                          Отнюдь. Я конечно уже и видел «английские» репорты, которые без знания русского языка не поймёшь, но даже если всё хорошо было описано — какой резон был премодерации такую дыру отвергать?

                                                          А через security@ я и вообще (в сравнении с этим) смешной exploit на Steamcommunity репортил, который для фишинга использовался. После того как человек на том конце смог воспроизвести проблему, буквально за считанные часы фикс добрался до прода.

                                                          UPD: «Attacks that require the ability to drop files in arbitrary locations on the user's filesystem.» если вчитаться, то действительно нужен уже локальный код, что не отменяет тот факт, что благодаря стиму любой зловред до NT SYSTEM может повыситься.
                                                            +1
                                                            Постойте, это та самая программа, которая устанавливает права Full Control для всех пользователей на каталог «c:\Program Files (x86)\Steam» и туда же устанавливает и все свои приложения/игры, большая часть которых могла бы работать из нормального защищённого каталога?

                                                            Это та самая, которая при запуске игр выводит вот такие запросы UAC:
                                                            первая же картинка из гугла, раньше ещё и 'verified publisher' не было
                                                            первая же картинка из гугла

                                                            Да, «ваше сообщение очень важно для них»!

                                                            P.S. Нашёл скриншот старого сообщения - вообще красота!
                                                            image
                                                              +1
                                                              И ругается, если права забрать:

                                                                +1
                                                                Я там выше спрашивал есть ли у пользователей доступ на запись (конкретно файла steamservice.exe), потому что в сети какая-то противоречивая информация, всё забываю проверить дома.

                                                                Если так и есть, то интересно будет ли такое же безобразие, если при установке задать директорию для библиотеки игр за пределами Program Files?

                                                                (Вообще конечно подобные вещи — это полная задница. Chrome свои исполняемые файлы в AppData суёт, а этот, похоже, наоборот)
                                                                  0
                                                                  По поводу противоречия:
                                                                  Сервису «Steam Client Service» соответствует файл C:\Program Files (x86)\Common Files\Steam\steamservice.exe и у него с правами все нормально.
                                                                  Но есть еще файл C:\Program Files (x86)\Steam\bin\steamservice.exe — он лежит в папке, которой при установке стим дает разрешение на изменение для всех пользователей. Когда и как он запускается я не знаю.
                                                                    0
                                                                    Chrome свои исполняемые файлы в AppData суёт

                                                                    Что в общем тоже не правильно.
                                                                  –1
                                                                  «c:\Program Files (x86)\Steam» и туда же устанавливает и все свои приложения/игры

                                                                  Это по умолчанию, origin делает также. В настройках можно выбрать произвольную директорию
                                                                    +3

                                                                    Так проблема-то не в директории, а в правах на неё!

                                                                  +1
                                                                  А потом люди удивляются, что это я не ставлю программы для установки программ. Да в них подобные дыры by design.
                                                                    0

                                                                    Отличный отчет, интересная (показательная) уязвимость. Было бы здорово дополнить статью дескриптором безопасности ключа HKLM\SOFTWARE\Wow6432Node\Valve\Steam\Apps, что бы понять, какие пользователи могут создавать там симлинки (могут провести повышение привилегий).

                                                                      +2
                                                                      Спасибо.
                                                                      Дескриптор безопасности, опуская подробности, KA для BU (KA [Key All] — Полный доступ, BU [Built-in User] — все пользователи).
                                                                      Теперь забавный факт, по которому можно отличить диванных безопасников с реддита. Для создания симлинка в реестре не только не нужны права администратора, но и даже разрешение ключа на «create links». Нужно только разрешение на создание ключей.
                                                                      +5

                                                                      Поздравляю, хайп по англоязчному интернету пошёл.


                                                                      https://arstechnica.com/gaming/2019/08/severe-local-0-day-escalation-exploit-found-in-steam-client-services/

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

                                                                        Но не уверен, что Valve «нормальные», учитывая, сколько раз я читал на тематических форумах «I found XSS in Steam, reported via ticket and email, posted on their forums and found my steam account disabled» и т.д. в таком же ключе.

                                                                        Интересно, xi-tauw, локнут ли вам сам аккаунт. Если заблокируют — вообще отпетые.
                                                                          +6
                                                                          Wargaming например именно такие, благо моему знакомому хватило ума тестировать и репортить не с основного аккаунта.
                                                                          Он даже вознаграждения не просил, просто хотел что бы пофиксили.
                                                                          Проблема была в том что подменой отправляемых пакетов можно было вмешиваться в расчёт «рандомных» переменных, например задавая им всегда возможный максимум.
                                                                          Максимальная точность… пробитие… урон…
                                                                          «Вы вмешались в работу клиента игры, это не является ошибкой, ваш аккаунт заблокирован за нарушение пользовательского соглашения.»
                                                                          После такого фееричного ответа, баг был успешно продан и существовал в приватных читах почти 3 года.
                                                                          0
                                                                          Как защититься тем у кого уже стоит steam клиент? (удаление не предлагать т.к. это очевидный вариант) Быть может есть хоть какой-нибудь workaround?
                                                                            0
                                                                            Нужно ждать фикса от Valve (если он будет). Простых способов починить нет.
                                                                              +2

                                                                              Переключайтесь на linux-версию стима. (Формально стим при этом не удаляется, а заменяется ОС).

                                                                                0
                                                                                Поставить гостевую ось и в неё поставить стим?
                                                                                  0
                                                                                  От пожирания ресурсов майнером это не спасет. Хотя от потери инфы из основной — вполне.
                                                                                    0
                                                                                    И от потери инфы не спасет. Спасет только виртуалка, хотя и там могут быть уязвимости для выполнения кода в основной ОС.
                                                                                      0
                                                                                      Спасет только виртуалка

                                                                                      Так ведь
                                                                                      гостевую ось

                                                                                        0

                                                                                        Гостевая ось может находиться физически на одном винчестере в смежных разделах. Либо это какой-то узкоспециализированный термин?

                                                                                          0

                                                                                          Гостевая ось — это не ось, которой пользуются гости, а ось, запущенная на гостевой машине. Гостевая машина — это синоним слова "виртуалка".

                                                                                            0
                                                                                            Да, «гостевая ОС» это термин — ОС, установленная на виртуальной машине, эмулируемой с помощью программы (эмулятора), запускаемой под хостовой ОС (host — «хозяин»).
                                                                                            all-ht.ru/inf/vpc/p_0_1.html
                                                                                            Отношение «хозяин-гость» между двумя ОС иерархично, а две операционки на разных разделах совершенно равны в правах (принцип «кто первый надел халат — тот и доктор» не может считаться нормальной системой разграничения прав).
                                                                                  0
                                                                                  А можно простыми словами? Если у меня на компе есть не-админская учетка без пароля и установлен стим, то зайдя под этой учеткой, можно получить админские права?
                                                                                    +1
                                                                                    Да, все так.
                                                                                    0
                                                                                    Верите, что за скидку в 90% вы не получите скрытый майнер?

                                                                                    Так это известный факт — в стиме сотни майнеров продаётся. И вовсе даже не скрытых. Никого сей факт не смущает — ни Valve, ни покупателей.
                                                                                      +1

                                                                                      Так простой майнер и правда не проблема: его как поставили — так и удалить можно, весь вред — моральный.


                                                                                      А разобранная тут штука потенциально позволяет сделать неудаляемый майнер-руткит. Вот это — уже проблема.

                                                                                      +1
                                                                                      Поздравляю, Ваша информация/посыл пошла дальше…
                                                                                      Немецкий IT-Blog
                                                                                        0
                                                                                        Спасибо. Я поглядывал на статьи, связанные с этой новостью. Это довольно интересно наблюдать — так, например, tproger.ru сделали новость на основе хабровской статьи, а anti-malware.ru перевели какую из западных (уже поправили, но артефакты все равно заметны).
                                                                                          +1
                                                                                          www.youtube.com/watch?v=HkVjLZBO7MY — вот и в уже почти сугубо развлекательных вещах упоминания пошли. Самый конец выпуска, с 5:50. (это новостной канал от одного из крупнейших западных техноблоггеров — www.youtube.com/user/LinusTechTips)
                                                                                          +2
                                                                                          Почему крупные компании так любят скушать помоев?
                                                                                          Послать отрепортившего, попытаться запретить публикацию…
                                                                                          Ну не можешь ты быстро исправить, напиши нормальный ответ…
                                                                                            0
                                                                                            Внес обновление в статью,
                                                                                            0
                                                                                            Новости быстро расходятся и доходят даже до таких каналов. А что Steam? А ничего.
                                                                                            www.youtube.com/watch?v=HkVjLZBO7MY
                                                                                              0
                                                                                              Спасибо за проделанную работу. В конечном счете Valve отреагировали на это, пусть хоть это может иметь последствия.
                                                                                                0
                                                                                                Если я правильно понял, то они исправили это.
                                                                                                steamcommunity.com/groups/SteamClientBeta#announcements/detail/1602638506845644644
                                                                                                  0
                                                                                                  Внес обновление в статью,
                                                                                                  0
                                                                                                  интрига до конца не раскрыта — заблокировали ли автору аккаунты h1 и steam?
                                                                                                    0
                                                                                                    Нет, не заблокировали. H1 переоткрыли отчет и прислали длинное письмо, попросили ответить в треде на один вопрос. Я ответил и прошло 5 дней, без какой-либо реакции.
                                                                                                      0

                                                                                                      Если Вам ответят, извините, ошиблись, вот ваши деньги за уязвимость — отпишитесь пожалуйста.
                                                                                                      Интересно, признают ли они свою ошибку в итоге...

                                                                                                        0
                                                                                                        Они уже должны были бы это сделать, на фоне того, что фикс уже вышел, пусть и в бетке…
                                                                                                          0

                                                                                                          В этом-то и соль:
                                                                                                          они могут просто сказать, что-то вроде этот баг был у нас в спринте, после очередного релиза мы его исправили, проблема устранена.

                                                                                                          +1
                                                                                                          Да, я обязательно обновлю пост, если будут какие-то новости.
                                                                                                            0
                                                                                                            Если не сложно, также черканите, плиз, соответствующий коммент об этом, чтоб статья высветилась в трекере.
                                                                                                      0
                                                                                                      Обновление Steam вышло.
                                                                                                      Судя по «радостным» комментариям, стим решил запушить это обновление как принудительное…

                                                                                                      «Не баг» говорите? :)

                                                                                                      steamcommunity.com/news/post/2412160539873037816

                                                                                                      Client Update — Valve 13 авг
                                                                                                      A new Steam client has been released and will be automatically downloaded.

                                                                                                      Steam Windows Service
                                                                                                      Fixed privilege escalation exploit using symbolic links in Windows registry
                                                                                                        0
                                                                                                        Спасибо! Пофиксили эксплоит.
                                                                                                          0
                                                                                                          Да, добавил в статью.
                                                                                                          +3
                                                                                                          Обновление для тех, кто следит.
                                                                                                          исследователь показал, что патч можно обойти, уязвимость все еще актуальна. Обход вкратце — можно вернуть предыдущие (до патча) версии сервиса.
                                                                                                            +1
                                                                                                            Спасибо)
                                                                                                              0
                                                                                                              И еще апдейт — Valve забанили меня в своей программе на H1. Остальной H1 мне доступен, то есть это чисто часть Valve.
                                                                                                                +1
                                                                                                                Похоже что фиксить они не планировали, но из-за шумихи были вынуждены и у них пригорело.
                                                                                                                Самое время найти ещё какой нибудь аналогичный баг и сразу его опубликовать извинившись за невозможность отправить его по программе, т.к. тебя в ней забанили =))
                                                                                                                  +1
                                                                                                                    +1
                                                                                                                    До слёз)))
                                                                                                                      0

                                                                                                                      Я Вас поздравляю!!!
                                                                                                                      Вас разбанили, осталось носом ткнуть Вальве и потребовать с них награду!
                                                                                                                      https://habr.com/ru/news/t/464749/?utm_source=vk&utm_medium=social&utm_campaign=valve-priznala-svoyu-oshibku--kogda-haker

                                                                                                                        0
                                                                                                                        Нет, не разбанили.
                                                                                                                        Я больше скажу, что сообщение от Valve в общем смысле никак не касается меня. Они просто сказали, что произошла ошибка и свалили все на недопонимание.
                                                                                                                          0

                                                                                                                          Да ладно???
                                                                                                                          Похоже попахивает чёрным пиаром. Феерично, мы признаём, что баг-таки есть, обновим программу, но тому чуваку шиш. Козлы.


                                                                                                                          Жаль, что мы Вам не можем никак помочь...

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

                                                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                              Самое читаемое