CVE-2026-73491
NiskieCVSS 2.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
Loofah w wersjach od 2.25.0 do 2.25.2 nie odrzuca URI javascript:, których schemat jest podzielony lub poprzedzony nazwanymi odwołaniami do białych znaków HTML5, takimi jak 	 lub 
. Funkcja CGI.unescapeHTML pozostawia te odwołania nienaruszone, więc allowed_uri? uznaje URL za bezpieczny, mimo że przeglądarka dekoduje i usuwa tabulator lub znak nowej linii, a następnie wykonuje wynikowy URL javascript:. Problem dotyczy tylko wywołań z bezpośrednio przekazanymi zakodowanymi stringami do allowed_uri?; domyślna ścieżka sanitize() nie jest dotknięta. Problem naprawiono w wersji 2.25.2.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do wstrzyknięcia złośliwego JavaScript, co może prowadzić do ataków XSS lub kradzieży danych, jeśli aplikacja używa allowed_uri? z nieprzetworzonymi danymi.
Rekomendacja
Zaktualizuj bibliotekę Loofah do wersji 2.25.2 lub nowszej oraz unikaj przekazywania zakodowanych stringów bezpośrednio do allowed_uri?.
Oryginalny opis (angielski, źródło NVD)
Loofah is a general library for manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiri. From 2.25.0 until 2.25.2, Loofah::HTML5::Scrub.allowed_uri? does not reject javascript: URIs whose scheme is split or prefixed with the HTML5 named whitespace character references 	 or 
. CGI.unescapeHTML leaves those references intact, so allowed_uri? reports the URL safe even though a browser decodes and strips the tab or line feed and executes the resulting javascript: URL. This issue affects only callers that pass HTML-encoded strings directly to allowed_uri?; Loofah's default sanitize() path is not affected. This issue is fixed in version 2.25.2.

