HIGH🇬🇧 English

CVE-2026-54498

XSS w ViewComponent — pominięcie escapowania w around_render

CVSS 8.7v3.1pub. 2026-07-17upd. 2026-07-29

Podatność typu XSS w bibliotece view_component dla Ruby on Rails pozwala na wstrzyknięcie złośliwego kodu HTML/JavaScript przez metodę around_render, która może zwracać niebezpieczne ciągi znaków z pominięciem mechanizmów escapowania. Stanowi to poważne zagrożenie dla aplikacji przetwarzających dane kontrolowane przez użytkownika.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Metoda ViewComponent::Base#around_render może zwracać ciągi znaków nieoznaczone jako HTML-safe, które omijają standardowy mechanizm escapowania stosowany do wartości zwracanych przez metodę #call. Gdy aplikacja używa around_render do owijania, zastępowania lub warunkowego zwracania treści zawierającej dane od użytkownika, dane te mogą trafić do przeglądarki bez właściwego escapowania. Sytuację dodatkowo pogarsza ViewComponent::Collection#render_in, który łączy wyniki renderowania poszczególnych elementów kolekcji i oznacza całość jako html_safe, przekształcając niebezpieczne dane wyjściowe w obiekt ActiveSupport::SafeBuffer, który jest traktowany przez framework jako bezpieczny.

Skutki

Atakujący może wstrzyknąć i wykonać dowolny kod JavaScript w przeglądarce ofiary, co może prowadzić do kradzieży sesji, danych uwierzytelniających, przejęcia konta użytkownika lub wycieku poufnych informacji.

Mitygacja

Należy zaktualizować bibliotekę view_component do wersji 4.12.0, w której problem został naprawiony. Patche dostępne są w referencjach producenta: https://github.com/ViewComponent/view_component/releases/tag/v4.12.0

Kogo dotyczy

Biblioteka view_component (ViewComponent) w wersjach od 4.0.0 do 4.11.x (przed 4.12.0) dla Ruby on Rails. Problem dotyczy aplikacji używających metody around_render z danymi kontrolowanymi przez użytkownika.

Uwagi

Podatność wymaga interakcji użytkownika (UI:R) oraz zalogowanego atakującego z niskimi uprawnieniami (PR:L), jednak jej wpływ jest oceniany jako wysoki zarówno dla poufności, jak i integralności w kontekście cross-site (S:C). Szczegółowe informacje dostępne w advisory GHSA-97jw-64cj-jc58.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
  • Viewcomponent View Component

    APP
    Viewcomponent
    4.0.0 – 4.12.0 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
XSS
CWE
Referencje

Powiązane podatności

CVE-2026-54497MEDIUM6.8ten sam produkt

view_component to framework do budowania wielokrotnego użytku, testowalnych i enkapsulowanych komponentów wido...

CVE-2026-44837MEDIUM5.9ten sam produkt

view_component to framework do budowania wielokrotnego użytku, testowalnych i hermetycznych komponentów widoku...

CVE-2024-21636MEDIUM6.1ten sam produkt

view_component is a framework for building reusable, testable, and encapsulated view components in Ruby on Rai...