Popcorn Time не зря называют «Netflix для пиратов» — за 18 месяцев своего существования приложение успело собрать многомиллионную базу пользователей и обзавелось множеством форков. Если не принимать во внимание тот факт, что проект до мозга костей пиратский, у Popcorn Time все просто отлично. Но недавно хакер Антониос Чаритон (Antonios Chariton) aka DaKnOb поведал изданию Torrent Freak, что нашел в популярном приложении уязвимость.
Чаритон обнаружил баг, по меньшей мере, в одном форке (PopcornTime.io) и полагает, что другие форки тоже подвержены уязвимости. Исследователь рассказал, что заметил нечто странное случайно, когда настраивал фаервол на своем компьютере и обратил внимание на сетевой трафик, инициируемый приложением.
Проблема кроется в хитрой технике, которую Popcorn Time использует для обхода блокировки на ISP уровне в Великобритании. Для этих целей применяется инфраструктура Cloudflare, и сложно заблокировать Popcorn Time DNS-блокировкой, не прикрыв вместе с ним и Cloudflare. Чаритон объяснил, в чем именно заключается баг:
Вторая ошибка: input sanitization не производится вообще. А значит, нет никаких проверок на предмет истинности полученных данных.
И, наконец, третья ошибка заключается в том, что предыдущие два недосмотра были допущены в NodeJS приложении».
Далее исследователь попробовал провести XSS-атаку и спуфинг контента. И то и другое ему удалось, что видно на иллюстрациях ниже (фильм Hot Pursuit переименован в Hello World). Чаритон призвал разработчиков использовать HTTPS, вместо незащищенного HTTP, проверять входящие данные и в целом быть внимательнее.
«Если приложение open source, это не значит, что-то кто-то проводит его аудит и оно безопасно. Обнаружение и эксплуатация описанных уязвимостей были совершены, в прямом смысле, в течение часа», — напомнил исследователь.
Представители PopcornTime.io не стали молчать и с некоторым сарказмом прокомментировали ситуацию:
«Данная атака требует, чтобы атакующий находился внутри локальной сети, или имел доступ к компьютеру пользователя, или вовсе контролировал зараженные DNS-серверы. В любом случае, на Popcorn Time можно произвести куда более интересные атаки. В частности, потому что он не работает с повышенными привилегиями и не позволит атакующему, к примеру, установить новые программы».
Фото:kozumel@flickr