CVE-2026-54497
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
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ń.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do eskalacji uprawnień, wycieku danych lub podszycia się pod innego użytkownika, co narusza bezpieczeństwo aplikacji Rails.
Rekomendacja
Zaktualizuj gem view_component do wersji 4.12.0 lub nowszej.
Inne podatności w view_component
Zobacz wszystkie- CVE-2026-54498Wysokie
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.
- 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 instances retain render-scoped objects across calls to render_in; if the same component, collection, or spacer component instance is reused across requests, users, tenants, or threads, later renders can use stale helpers, controller, request, view_flow, format/variant details, and slot child context from an earlier render. This can cause authorization-aware components to render privileged UI for a lower-privileged user, generate links using a stale Host header, leak slot/helper state, and mix request context under concurrent rendering. This issue is fixed in version 4.12.0.

