Исследователь Мануэль Кабальеро (Manuel Caballero), автор блога Broken Browser, рассказал о баге в браузере Microsoft Edge, который позволяет обойти Same Origin Policy (Правило ограничения домена, SOP) и похитить учетные данные и куки-файлы.
Концепция SOP появилась еще в далекие времена Netscape Navigator 2.0. По сути, SOP разрешает сценариям, находящимся на страницах одного сайта, доступ к методам и свойствам друг друга без ограничений, но предотвращает доступ к большинству методов и свойств для страниц на разных сайтах. Одинаковыми будут считаться источники, у которых совпадают домен, порт и протокол.
Исследователь объясняет, что SOP-фильтр Edge можно обмануть, подделав реферрер: «благодаря тому, что существуют data-URI, а также за счет того, что большинство сайтов используют iframe, мы можем превратить данную уязвимость в обход SOP», — пишет Кабальеро.
В своем блоге исследователь опубликовал не только пошаговое описание атаки, но и proof-of-concept эксплоит, а также видеодемонстрацию атаки, которую можно увидеть ниже. Кабальеро объясняет, что, в конечном счете, атакующий сможет осуществить инжект формы ввода пароля для чужого домена, а встроенный менеджер паролей Edge автоматически подставит в нее учетные данные пользователя. Аналогичным образом можно похищать и браузерные куки.
Стоит отметить, что эксперт не впервые обнаруживает баги в браузерах Microsoft, к примеру, ранее Кабальеро демонстрировал «бесконечную» JavaScript-атаку на пользователей IE, а также рассказывал о том, как можно подделать сообщения SmartScreen в Edge. Более того, свежая уязвимость стала уже третьим вариантом обхода SOP, найденным в Edge, но разработчики Micosoft до сих пор не исправили ни одну из проблем.