Loofah — это общая библиотека для управления и преобразования документов и фрагментов HTML/XML, построенная на основе Nokogiri. С 2.25.0 по 2.25.2 Loofah::HTML5::Scrub.allowed_uri? не отклоняет javascript: URI, схема которых разделена или имеет префикс HTML5, именованные ссылки на пробельные символы 	 или &НоваяЛиния;. CGI.unescapeHTML оставляет эти ссылки нетронутыми, поэтому разрешено_uri? сообщает, что URL-адрес безопасен, даже если браузер декодирует и удаляет табуляцию или перевод строки и выполняет полученный URL-адрес javascript:.
Эта проблема затрагивает только вызывающих абонентов, которые передают строки в кодировке HTML непосредственно в Allow_uri?; Путь Sanitize() по умолчанию в Loofah не затрагивается. Эта проблема исправлена в версии 2.25.2.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0