CVE-2026-44836
ŚrednieCVSS 6.5Streszczenie
view_component to framework do budowania wielokrotnego użytku, testowalnych i enkapsulowanych komponentów widoków w Ruby on Rails. W wersjach od 3.0.0 do 4.9.0, trasa podglądu wyprowadza nazwę przykładu z URL i wywołuje ją za pomocą public_send, nie weryfikując, czy żądana metoda jest jedną z przykładów zdefiniowanych przez klasę podglądu.
Ocena ryzyka
W wyniku tej podatności, dziedziczone publiczne metody w ViewComponent::Preview mogą być osiągalne przez trasę, co pozwala atakującemu na renderowanie wewnętrznych szablonów Rails, które normalnie nie są dostępne. To stwarza ryzyko ujawnienia wrażliwych informacji lub wykonania nieautoryzowanych operacji.
Rekomendacja
Zaleca się aktualizację do wersji 4.9.0 lub nowszej, aby usunąć tę podatność. Dodatkowo, warto przeanalizować i ograniczyć dostęp do tras podglądów, aby zminimalizować ryzyko.
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.

