Valhalla — это механизм маршрутизации с открытым исходным кодом и сопутствующие библиотеки для использования с данными OpenStreetMap. Версии 3.6.3 и более ранние уязвимы для отраженного межсайтового скриптинга (XSS) из-за неправильной нейтрализации ввода в параметре обратного вызова JSONP. Когда запрос указывает обратный вызов JSONP, значение отражается непосредственно в теле ответа HTTP с типом контента: application/javascript, без какой-либо проверки, кодирования вывода или фильтрации списка разрешенных.
Злоумышленник может создать URL-адрес, содержащий произвольный код JavaScript в параметре обратного вызова; если жертве предлагается загрузить этот URL-адрес с помощью тега <script src="...">, внедренный сценарий выполняется в контексте источника обслуживания, что потенциально может привести к краже токена сеанса, раскрытию учетных данных или действиям, выполняемым от имени жертвы. На момент публикации эта проблема не была устранена.
Показать оригинальное описание (EN)
Valhalla is an open source routing engine and accompanying libraries for use with OpenStreetMap data. Versions 3.6.3 and prior are vulnerable to reflected cross-site scripting (XSS) due to improper neutralization of input in the JSONP callback parameter. When a request specifies a JSONP callback, the value is reflected directly into the HTTP response body with Content-Type: application/javascript, without any validation, output encoding, or allowlist filtering. An attacker can craft a URL containing arbitrary JavaScript in the callback parameter; if a victim is induced to load that URL via a <script src="..."> tag, the injected script executes in the context of the serving origin, potentially leading to session token theft, credential disclosure, or actions performed on behalf of the victim. This issue was not fixed at time of publication.
Характеристики атаки
Последствия
Строка CVSS v3.1