CVE-2026-44836
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 27 - wyżej niż 27% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości renderowania wewnętrznych szablonów Rails przez atakującego, co może prowadzić do ujawnienia wrażliwych danych lub wykonania nieautoryzowanych operacji.
Rekomendacja
Zaleca się aktualizację view_component do wersji 4.9.0 lub nowszej, aby zapobiec nieautoryzowanemu dostępowi do metod podglądu.
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-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.
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 3.0.0 to 4.9.0, the preview route derives an example name from the URL and calls it with public_send. The code does not verify that the requested method is one of the preview examples explicitly defined by the preview class. As a result, inherited public methods on ViewComponent::Preview are route-reachable. The most important one is render_with_template, which accepts template: and locals:. Those values can come from request params and are later passed to Rails as render template:. If previews are exposed, an attacker can render internal Rails templates that are not otherwise routable. This vulnerability is fixed in 4.9.0.

