The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

22.07.2019 07:01

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

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

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Ужесточение правил размещения дополнений в Chrome Web Store
  3. OpenNews: 31% дополнений к Chrome используют библиотеки с известными уязвимостями
  4. OpenNews: В Chrome-дополнении MEGA выявлен вредоносный код для кражи паролей
  5. OpenNews: Google внедряет меры для противодействия вредоносным дополнениям к Chrome
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51142-chrome
Ключевые слова: chrome, script
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, gsdh (?), 07:57, 22/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +28 +/
    А раньше программы на си запускали под разными юзерами, чтобы кто попало не нахе-равертил, а теперь в могучем js,то из одной одной песочницы выползут, то из другой сбегут, а ведь им говорили, без разницы на каком языке криво писать, но они не верили.
     
     
  • 2.10, And (??), 10:13, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зато они вовремя закрыли свои задания в Джире и сократили time to рынок!!! Халтура.

    Не хочу быть знакомым с теми. )))

     
  • 2.11, YetAnotherOnanym (ok), 10:53, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зато можно сосредоточиться на бизнес-логике.
     
     
  • 3.16, Hewlett Packard (?), 14:23, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Но и это не очень получается. Реклама того что ты вчера уже купил две следующие недели показывается, невзирая на весь прогресс в ИИ и вычислительных возможностях.
     
  • 2.13, Вуыкло (?), 13:00, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дак хром и написан на с/с++, включая сендбоксинг, причем тут код на js?
     
     
  • 3.19, Аноним (19), 18:29, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так любая реализация JS, даже написаная на JS уязвима по умолчанию. Казалось бы причём тут C\C++?
     
  • 3.22, DerRoteBaron (ok), 00:33, 23/07/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так дыра не в коде, а в логике
     

  • 1.3, Деннис Ритчи (ok), 08:01, 22/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Шёл 2222 год:
    - Ура!!! Я купил терабайт памяти и смогу запустить хром без тормозов!
     
     
  • 2.5, Аноним (5), 08:19, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +19 +/
    А вы, сэр, оптимист. С текущими темпами "разработки" браузерам будет нужен терабайт в 2022.
     
  • 2.6, iPony129412 (?), 08:27, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Ну открыл первый попавшийся тест https://images.idgesg.net/images/article/2018/05/memory2-100759843-large.jpg

    Чего постоянно ноят?

     
     
  • 3.17, Аноним (17), 15:44, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это смотря какие "Tabs", некоторые редакторы вообще тысячи табов могут отобразить... и даже сконвертировать их в пробелы
     
  • 2.15, Григорий Федорович Конин (?), 13:28, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > - Ура!!! Я купил терабайт памяти и смогу запустить хром без тормозов!

    Вы так говорите будто бы у вас есть выбор.

     
  • 2.30, Vivaswan (ok), 08:58, 26/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Шел 2025 год.... "Урра, я купил терабайт памятии теперь могу запустить Пакман и Крестики-нолики в джава-Google-Chrome!!!"
     

  • 1.4, Аноним (-), 08:14, 22/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Аксиома Эскобара.
     
     
  • 2.8, ыы (?), 09:09, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    С чего это вдруг... У вас есть выбор...И как утверждает масса- более десятка таких выборов...
     
     
  • 3.14, Аноним (14), 13:06, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Какой еще выбор? Только линкс, только хардкор!
     
  • 3.20, Аноним (19), 18:33, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Выбор отключить все скрипты или жить с ними? Проблема то в любом браузере существует, который исополняет жабу.
     
     
  • 4.23, Аноним (23), 09:44, 23/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А разве одно исключает другое?
     

  • 1.9, Аноним (9), 09:52, 22/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Права доступа предполагают, что без unsafe-eval дополнение имеет возможность выполнить только код, входящий в локальную поставку…

    Шёл 2019 год, ожагс пропихнули в каждую щель, но мы предполагаем, что данные извне получить нельзя…

     
     
  • 2.18, Евгений (??), 16:52, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ожагс не евалом парсится, умник
     
     
  • 3.21, Аноним (9), 20:26, 22/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И?
     
  • 3.24, Аноним (24), 11:25, 23/07/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А чем еще-то? Только var o=eval('('+msg+')') и не иначе. Остальное бьет по производительности.
     

  • 1.25, freehck (ok), 12:15, 23/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > сводится к подстановке тега script через document.createElement('script') и включения в него внешнего содержимого через функцию fetch, после чего код будет выполнен в контексте самого дополнения.

    O_O

    Нет слов.

    Я как-то не понял: гугель мало платит за отчёты о таких ошибках, что их просто-напросто никто не ищет? Как это могло дожить до 2019го?

     
     
  • 2.26, Агл (?), 13:18, 23/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    1) "Bigger Rewards for Security Bugs
    July 18, 2019"
    2)
    "
    R. Hill
    ‏ @gorhill
    18 июл.

    Nowadays it's best to presume the world wide web is highly hostile to users, and installing a *trusted* content blocker is the best mitigation.

    "

     

  • 1.27, Аноним (27), 17:42, 23/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    apparmor/firejail
     
     
  • 2.29, Аноним (29), 16:01, 24/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А еще говорять что в линуксе вирусов нет.
     

  • 1.28, Аноним (28), 08:51, 24/07/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всегда считал это не уязвимостью, а штатным способом выполнить свой код с сервера в дополнении. Даже на stackoverflow похожий способ опубликован
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру