Я составил подробный отчет об ошибке для Mozilla, в котором описал (некоторые из) возможные атаки и (когда его спросили) предложил несколько возможных решений.

Вопрос закрыт по политическим (политическим?) Причинам через 30 минут.

Bugzilla - это не дискуссионный форум.

К сожалению, никто не указал, возможны ли атаки.
Для меня это означает, что все пользователи Firefox находятся под серьезной угрозой, но Mozilla не будет делать ничего для их защиты.

Ребята из Chromium поспешили сказать, что не решат проблему
Менее чем за 10 минут он не смог понять, что с учетом того, как написаны WHATWG Living Standards, сообщение об ошибке здесь является правильный способ изменить веб-стандарты!

В любом случае, отвечая на ваш вопрос, решение простое, если оно не простое.
Запуск веб-программного обеспечения должен осуществляться по согласию, а не по отказу
(если вы может отказаться, учитывая, насколько удобен пользовательский интерфейс для отключения JavaScript).

Теперь, учитывая серьезность проблемы, в качестве первого шага я бы выпустил аварийное исправление, которое отключает JavaScript (и мета-обновление), не просматривая пользовательские настройки.

Затем я бы развернул среднесрочное исправление, чтобы:

  • Обновление страницы с помощью тега META и JavaScript по умолчанию отключено.
  • И то, и другое можно включить для каждого веб-сайта, но
    - С помощью файлов cookie или других заголовков HTTP не запрашиваются скрипты или CSS.
    - Каждый скрипт и CSS запрашиваются через выделенное TCP-соединение
    - Целостность субресурсов сделана обязательной (по крайней мере, для JavaScript)
    - Для каждого URI запишите SRI последнего загруженного содержимого и предупредите пользователя, если страница предлагает другой SRI для того же URI
    - Предупредить пользователя о скриптах с подозрительными заголовками HTTP
  • При выходе из браузера удалите из кеша все ресурсы, загруженные страницами с включенным мета-обновлением и / или JavaScript.
  • Просмотр источника страницы не должен никогда не получать новые версии страницы с сервера (какими бы ни были HTTP-заголовки, предоставленные со страницей).

Очевидно, все это оставляет дверь открытой для страниц, которые:

  • посещаются только один раз
  • посещают впервые

таким образом, я бы также отмечал как« небезопасные » веб-страницы, посещаемые впервые и требующие JavaScript.

В долгосрочной перспективе проблема заключается в том, что основные операционные системы (Linux, Windows, iOS, Android…) слишком примитивны, чтобы безопасно поддерживают распределенные вычисления для пользователя.

Нам нужно вернуться к доске дизайна.