CVE-2026-54498
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
Podatność XSS w frameworku view_component dla Ruby on Rails w wersjach 4.0.0-4.12.0. Metoda around_render może zwracać niesprawdzone łańcuchy HTML, które omijają mechanizmy ucieczki, co stwarza ryzyko XSS, szczególnie przy użyciu ViewComponent::Collection.
Ocena ryzyka
Ryzyko wykonania złośliwego kodu JavaScript w przeglądarce użytkownika, co może prowadzić do kradzieży danych i przejęcia konta.
Rekomendacja
Zaktualizuj view_component do wersji 4.12.0 lub nowszej. Unikaj używania around_render z danymi pochodzącymi od użytkownika bez odpowiedniego oczyszczenia.
Inne podatności w view_component
Zobacz wszystkie- CVE-2026-54497Średnie
Podatność w view_component (Ruby on Rails) w wersjach 4.0.0-4.12.0 powoduje, że instancje ViewComponent::Base przechowują obiekty z zakresu renderowania między wywołaniami render_in. Ponowne użycie komponentu w różnych żądaniach, użytkownikach lub wątkach może prowadzić do użycia nieaktualnych danych, co może skutkować wyciekiem uprawnień, linków z nieprawidłowym Host header lub mieszaniem kontekstu żądań.
- CVE-2026-44837Średnie
Podatność w frameworku view_component (Ruby on Rails) w wersjach 3.0.0 do 4.9.0. Punkt wejścia testów systemowych kanonizuje ścieżkę pliku kontrolowaną przez użytkownika za pomocą File.realpath, a następnie sprawdza, czy rozpoznana ścieżka zaczyna się od ścieżki katalogu tymczasowego. To nie jest bezpieczne sprawdzenie, ponieważ katalogi rodzeństwa mogą mieć ten sam prefiks. Problem został naprawiony w wersji 4.9.0.
- CVE-2026-44836Średnie
view_component to framework do budowania wielokrotnego użytku, testowalnych i hermetycznych komponentów widoku w Ruby on Rails. Od wersji 3.0.0 do 4.9.0 trasa podglądu wyprowadza nazwę przykładu z URL i wywołuje ją za pomocą public_send. Kod nie weryfikuje, czy żądana metoda jest jednym z przykładów podglądu jawnie zdefiniowanych przez klasę podglądu. W rezultacie dziedziczone publiczne metody na ViewComponent::Preview są osiągalne przez trasę. Najważniejszą z nich jest render_with_template, która akceptuje template: i locals:. Te wartości mogą pochodzić z parametrów żądania i są później przekazywane do Rails jako render template:. Jeśli podglądy są wystawione, atakujący może renderować wewnętrzne szablony Rails, które w inny sposób nie są routowalne. Podatność została naprawiona w wersji 4.9.0.
Oryginalny opis (angielski, źródło NVD)
view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rails. From 4.0.0 until 4.12.0, ViewComponent::Base#around_render can return HTML-unsafe strings that bypass the escaping behavior applied to normal #call return values. This creates an XSS risk when downstream applications use around_render to wrap, replace, instrument, or conditionally return content that includes user-controlled data, and ViewComponent::Collection#render_in can amplify the issue by joining per-item results and marking the entire output html_safe, converting raw unsafe output into an ActiveSupport::SafeBuffer. This issue is fixed in version 4.12.0.

