jQuery Mobile может поставить некоторые веб-сайты под угрозу

jQuery Mobile может поставить некоторые веб-сайты под угрозу

Исследователь в области безопасности Google обнаружил, что JQuery Mobile может поставить веб-сайты под угрозу атак межсайтового скриптинга (XSS). jQuery Mobile представляет собой основанную на HTML5 систему для создания гибких веб-сайтов и веб-приложений, которые могут быть доступны из любого типа устройства. Согласно BuiltWith, JQuery Mobile в настоящее время используется на более чем 150 000 активных веб-сайтах.

Несколько месяцев назад эксперт из Google, Эдуардо Вела (Eduardo Vela), обнаружил, что JQuery Mobile проверяет location.hash, который возвращает анкор URL. При нахождении URL в location.hash, JQuery Mobile использует метод history.pushState и добавляет его к объекту XMLHttpRequest. Ответ на этот запрос идет с innerHTML.

Использование history.pushState должно предотвратить XSS-атаки, однако эксплуатация все еще возможна, если сайт находится под воздействием уязвимости open redirect. Пример, приведенный исследователем выглядит так:

http:// jquery-mobile-xss.appspot.com/#/redirect?url=http:// sirdarckcat.github.io/xss/img-src.html

В зоне риска могут находиться многие сайты, так как некоторые организации не считают открытые редиректы уязвимостями. В частности, они могут быть найдены на таких сайтах, как Google, YouTube, Facebook, Baidu и Yahoo.

Эксперт сообщил о своих выводах разработчикам JQuery Mobile, но проблема не будет решена в ближайшее время из-за опасений, что изменения могут нарушить работу приложений.