View Component
Уязвимости
3
Эксплуатируемые
0
Макс. CVSS
7.5
Макс. EPSS
0.00495
Распределение по критичности
Критический
0
Высокий
1
Средний
2
Низкий
0
Затронутые диапазоны версий
3.0.0–4.9.0< 2.83.0
Также сопоставлено как (исходные строки): view_component
Топ уязвимостей
CVE-2026-44837view_component - это фреймворк для создания многоразовых, проверяемых и инкапсулированных компонентов просмотра в Ruby on Rails. С 3.0.0 до 4.9.0, точка входа системы теста канонизирует управляемый пользователем путь файла с помощью File.realpath, а затем проверяет, начинается ли решенный путь с пути временного каталога. Это не безопасная проверка сдерживания, потому что каталоги братьев и сестер могут совместно использовать один и тот же струнный префикс. Эта уязвимость зафиксирована в 4.9.0.
CVE-2026-44836view_component - это фреймворк для создания многоразовых, проверяемых и инкапсулированных компонентов просмотра в Ruby on Rails. С 3.0.0 до 4.9.0 маршрут предварительного просмотра получает примерное имя из URL и называет его public_send. Код не проверяет, является ли запрошенный метод одним из примеров предварительного просмотра, явно определенных классом предварительного просмотра. В результате, унаследованные публичные методы на ViewComponent::Preview можно получить маршрут. Наиболее важным из них является рендер_with_template, который принимает шаблон: и местные жители:. Эти значения могут исходить от запрашиваемых парамов и позже передаются в Rails в виде шаблона рендеринга: Если превью открыты, злоумышленник может отображать внутренние шаблоны Rails, которые иначе не являются маршрутизированными. Эта уязвимость зафиксирована в 4.9.0.
CVE-2024-21636view_component - это фреймворк для создания многократно используемых, тестируемых и инкапсулированных компонентов представления в Ruby on Rails. Версии до 3.9.0 и 2.83.0 имеют уязвимость межсайтового скриптинга, которая может повлиять на любого, кто отображает компонент непосредственно из контроллера с помощью гема view_component. Обратите внимание, что затронуты только компоненты, которые определяют метод `#call` (т. е. вместо использования шаблона sidecar). Возвращаемое значение метода `#call` не очищается и может включать пользовательский контент. Кроме того, возвращаемое значение метода `#output_postamble` не очищается, что также может привести к проблемам межсайтового скриптинга. Версии 3.9.0 и 2.83.0 были выпущены и полностью устраняют уязвимости как `#call`, так и `#output_postamble`. В качестве обходного пути очистите возвращаемое значение `#call`.