CVE-2026-44837
ŚrednieCVSS 5.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może ominąć kontrolę dostępu do plików tymczasowych, potencjalnie uzyskując dostęp do plików w innych katalogach, co może prowadzić do ujawnienia danych lub eskalacji uprawnień.
Rekomendacja
Zaktualizuj view_component do wersji 4.9.0 lub nowszej. Unikaj polegania na porównaniach prefiksów ścieżek dla bezpieczeństwa.
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-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 3.0.0 to 4.9.0, the system test entrypoint canonicalizes a user-controlled file path with File.realpath, then checks whether the resolved path starts with the temp directory path. This is not a safe containment check because sibling directories can share the same string prefix. This vulnerability is fixed in 4.9.0.

