Vite - это платформа для создания интерфейсных инструментов для javascript. Было обнаружено, что затронутые версии vite содержат уязвимость…
Vite - это платформа для создания интерфейсных инструментов для javascript. Было обнаружено, что затронутые версии vite содержат уязвимость DOM Clobbering при создании скриптов в выходной формат `cjs`/`iife`/`umd`. Гаджет DOM Clobbering в модуле может привести к межсайтовому скриптингу (XSS) на веб-страницах, где присутствуют нескриптовые HTML-элементы, контролируемые злоумышленником (например, тег img с неочищенным атрибутом name). DOM Clobbering - это тип атаки с повторным использованием кода, когда злоумышленник сначала встраивает в веб-страницу часть нескриптовой, казалось бы, безобидной HTML-разметки (например, через сообщение или комментарий) и использует гаджеты (части кода js), находящиеся в существующем коде javascript, чтобы преобразовать ее в исполняемый код. Мы выявили уязвимость DOM Clobbering в связанных скриптах Vite, особенно когда скрипты динамически импортируют другие скрипты из папки активов, а разработчик устанавливает формат вывода сборки `cjs`, `iife` или `umd`. В таких случаях Vite заменяет относительные пути, начинающиеся с `__VITE_ASSET__`, используя URL-адрес, полученный из `document.currentScript`. Однако эта реализация уязвима для атаки DOM Clobbering. Поиск `document.currentScript` может быть затенен злоумышленником через механизм именованного доступа к элементам дерева DOM браузера. Эта манипуляция позволяет злоумышленнику заменить предполагаемый элемент скрипта вредоносным HTML-элементом. В этом случае атрибут src элемента, контролируемого злоумышленником, используется в качестве URL-адреса для импорта скриптов, что может привести к динамической загрузке скриптов с сервера, контролируемого злоумышленником. Эта уязвимость может привести к межсайтовому скриптингу (XSS) на веб-сайтах, которые включают файлы, связанные с Vite (настроенные с выходным форматом `cjs`, `iife` или `umd`), и позволяют пользователям внедрять определенные нескриптовые HTML-теги без надлежащей очистки атрибутов name или id. Эта проблема была исправлена в версиях 5.4.6, 5.3.6, 5.2.14, 4.5.5 и 3.2.11. Всем пользователям рекомендуется обновиться. Обходных путей для этой уязвимости нет.
Продукт не нейтрализует или некорректно нейтрализует управляемые пользователем входные данные перед их включением в вывод, используемый в качестве веб-страницы, отображаемой другим пользователям.
https://cwe.mitre.org/data/definitions/79.html →Открыть в коллекции CWE →Злоумышленник внедряет вредоносные скрипты в содержимое, которое будет передано веб-браузерам. Цель атаки — вынудить целевое программное обеспечение, браузер на стороне клиента, выполнить скрипт с уровнем привилегий пользователя. Атаки данного типа эксплуатируют уязвимости программ, возникающие из-за предоставления удалённым хостам возможности выполнять код и скрипты. Веб-браузеры, например, имеют некоторые простые средства контроля безопасности, однако если удалённому злоумышленнику разрешено выполнять скрипты (путём их внедрения в генерируемый пользователем контент, например на форумах), эти средства могут быть обойдены. Кроме того, такие атаки крайне сложно обнаружить конечному пользователю.
https://capec.mitre.org/data/definitions/63.html →Открыть в коллекции CAPEC →Данная атака использует частые обмены клиент-сервер в AJAX-взаимодействии для сканирования системы. Хотя Ajax сам по себе не открывает новых уязвимостей, он оптимизирует их с точки зрения злоумышленника. Обычный первый шаг злоумышленника — разведка целевой среды для понимания, какие атаки окажутся эффективными. Поскольку разведка опирается на перечисление, разговорный шаблон быстрых множественных запросов и ответов, характерный для Ajax-приложений, позволяет злоумышленнику проверять множество уязвимостей, известных портов, сетевых ресурсов и т. д. Сведения, полученные в ходе AJAX-разведки, могут использоваться для поддержки других атак, таких как XSS.
https://capec.mitre.org/data/definitions/85.html →Открыть в коллекции CAPEC →Злоумышленник создаёт файл со сценарным содержимым, при этом указанный MIME-тип файла таков, что обработка сценариев не предполагается. Злоумышленник обманом вынуждает жертву перейти по URL-адресу, возвращающему файл сценария. Некоторые браузеры обнаруживают, что указанный MIME-тип файла не соответствует фактическому типу его содержимого, и автоматически переключаются на использование интерпретатора для реального типа содержимого. Если браузер не вызывает фильтры сценариев до этого переключения, сценарий злоумышленника может выполниться в незашифрованном виде в браузере жертвы, раскрывая cookie жертвы или выполняя произвольный сценарий в её браузере.
https://capec.mitre.org/data/definitions/209.html →Открыть в коллекции CAPEC →Данный тип атаки представляет собой форму межсайтового скриптинга (XSS), при которой вредоносный скрипт внедряется в HTML-код на стороне клиента, разбираемый веб-браузером. Содержимое, передаваемое уязвимым веб-приложением, включает код скрипта, предназначенный для манипулирования объектной моделью документа (DOM). Этот код скрипта либо не выполняет надлежащую проверку входных данных, либо не проводит корректного кодирования вывода, что создаёт возможность для внедрения злоумышленником вредоносного скрипта и проведения XSS-атаки. Ключевое отличие DOM-атак от других XSS-атак состоит в том, что при иных XSS-атаках вредоносный скрипт выполняется при первоначальной загрузке уязвимой веб-страницы, тогда как DOM-атака выполняется спустя некоторое время после загрузки страницы. Ещё одна особенность DOM-атак заключается в том, что в ряде случаев вредоносный скрипт вообще не отправляется на уязвимый веб-сервер. Такая атака гарантированно обходит любые попытки серверной фильтрации для защиты пользователей.
https://capec.mitre.org/data/definitions/588.html →Открыть в коллекции CAPEC →Данный тип атаки является формой межсайтового скриптинга (XSS), при которой вредоносный скрипт «отражается» от уязвимого веб-приложения и затем выполняется браузером жертвы. Процесс начинается с доставки злоумышленником вредоносного скрипта жертве и убеждения её отправить скрипт уязвимому веб-приложению.
https://capec.mitre.org/data/definitions/591.html →Открыть в коллекции CAPEC →Злоумышленник использует форму межсайтового скриптинга (XSS), при которой вредоносный скрипт постоянно «хранится» в хранилище данных уязвимого веб-приложения в качестве допустимых входных данных.
https://capec.mitre.org/data/definitions/592.html →Открыть в коллекции CAPEC →