Нарушение CSP ms-appx-web://

Вопрос или проблема

У нас есть Java-приложение, которое позволяет пользователям загружать вложения и сохранять их на сервере. У приложения определена политика безопасности контента (CSP), которая выглядит следующим образом:

base-uri 'self'; child-src 'self'; form-action 'self'; frame-ancestors 'self'; connect-src 'self'; font-src 'self' https://fonts.gstatic.com; frame-src 'self'; img-src 'self' http://www.google-analytics.com https://www.google-analytics.com https://ssl.google-analytics.com data:; media-src 'self'; object-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self' http://www.google-analytics.com https://ssl.google-analytics.com; style-src 'unsafe-inline' 'unsafe-eval' 'self'; default-src ASTERISK;

Недавно мы получили нарушение CSP, которое заключается в следующем –

<CR>csp-report:<CR> Referrer: <CR> Заблокированный источник контента: ms-appx-web://<CR> Нарушенная директива: font-src 'self' https://fonts.gstatic.com<CR> Действующая директива: font-src<CR> Код состояния: 200<CR>

Может кто-то помочь мне понять, что такое ms-appx-web и почему он оказался заблокированным контентом? Почему CSP говорит, что font-src нарушен?

У меня есть следующее понимание –

Разрешенные шрифты – это те, которые находятся внутри приложения – “SELF” и с “https://fonts-gstatic.com” .. по какой-то причине пользователь попытался прикрепить PDF-документ с шрифтом, не поддерживаемым приложением/Google Fonts. Этот шрифт может быть определен в Windows, т.е. ms-appx-web://

Правильно ли это?

ms-appx-web:// – это внутренняя схема Edge для браузерных плагинов, она не подлежит регулированию CSP. Это просто ошибка в какой-то версии Edge или в определенном плагине/расширении.

Ответ или решение

CSP (Content Security Policy) — это механизм безопасности, который помогает предотвратить атаки, такие как межсайтовый скриптинг (XSS) и кража данных, ограничивая источник ресурсов, загружаемых на веб-страницу. В вашем случае вы столкнулись с нарушением CSP, связанным с ms-appx-web://.

Что такое ms-appx-web://?

ms-appx-web:// является внутренним URI-схемой, используемой платформой Microsoft для работы с приложениями, которые могут работать как веб-приложения и могут взаимодействовать с универсальными приложениями Windows. Эта схема не подлежит регулированию CSP. В большинстве случаев появление этой схемы в сообщении о нарушении CSP может быть связано с ошибками в версии браузера Edge или установленными плагинами/расширениями.

Почему возникло нарушение CSP?

Ваша политика CSP разрешает загрузку шрифтов только из указанных источников:

  • 'self' — это текущий домен,
  • https://fonts.gstatic.com — это Google Fonts.

Если вы видите сообщение о нарушении CSP с заблокированным содержимым ms-appx-web://, это указывает на то, что ваш веб-приложение, вероятно, пытается загрузить ресурс (в данном случае шрифт), который запрашивается с помощью URI ms-appx-web://. Это может быть вызвано следующим:

  1. Расширения браузера: Некоторые расширения браузера могут пытаться получить доступ к данным, используя эту схему. Если расширение использует свои шрифты или методы, которые используют ms-appx-web://, это приведет к нарушению CSP, так как этот источник не разрешен.

  2. Ошибки в браузере или приложении: Возможно, в используемой версии браузера Edge есть ошибка, которая неправильно обрабатывает или не фильтрует ресурс.

Как это связано с загружаемыми PDF-документами?

Ваше понимание о том, что ошибку мог вызвать документ PDF с неподдерживаемым шрифтом, может быть частично верным. Если PDF-файл содержит шрифт, который должен загружаться с ms-appx-web://, ваше приложение попытается получить к нему доступ, что будет нарушать вашу CSP.

Рекомендации:

  1. Проверка расширений: Убедитесь, что у пользователей на стороне клиентского устройства нет расширений, которые могли бы пытаться использовать ms-appx-web://. Попросите их временно отключить такие расширения и проверьте, воспроизводится ли ошибка.

  2. Проверка браузера: Убедитесь, что все пользователи используют последнюю стабильную версию браузера Edge. Обновления могут исправить известные ошибки.

  3. Анализ шрифтов: Если у вас есть доступ к PDF-файлам, попробуйте определить, какие шрифты используются, и убедитесь в их совместимости с вашей CSP.

  4. Корректировка CSP: Если вы можете контролировать источники шрифтов, и ms-appx-web:// по какой-то причине необходим, рассмотрите возможность его добавления в вашу политику CSP, однако это следует делать с осторожностью, так как это может снизить уровень безопасности.

Заключение

Таким образом, ms-appx-web:// не является действительным источником для шрифтов согласно вашей CSP. Нарушение происходит из-за попытки загрузить ресурс из недопустимого источника, и важно рассмотреть источники его появления, чтобы избежать подобных ситуаций в будущем.

Оцените материал
Добавить комментарий

Капча загружается...