Уязвимость, позволяющая дополнениям Chrome выполнять внешний код, несмотря на права доступа

22 июля 2019 года

Опубликован метод, позволяющий в любом дополнении к Chrome добиться выполнения внешнего JavaScript-кода без предоставления дополнению расширенных полномочий (без unsafe-eval и unsafe-inline в manifest.json). Права доступа предполагают, что без unsafe-eval дополнение имеет возможность выполнить только код, входящий в локальную поставку, но предложенный метод даёт возможность обойти данное ограничение и выполнить в контексте дополнения любой JavaScript, загруженный с внешнего сайта.

В настоящее время компания Google закрыла публичный доступ к отчёту о проблеме, но в архиве сохранился пример кода для эксплуатации проблемы. Способ аналогичен методу обхода ограничения script-src 'self' в CSP и сводится к подстановке тега script через document.createElement('script') и включения в него внешнего содержимого через функцию fetch, после чего код будет выполнен в контексте самого дополнения.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Уязвимость, позволяющая дополнениям Chrome выполнять внешний код, несмотря на права доступа», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.