Vulnerability-Lookup содержит уязвимость подделки запросов на стороне сервера (SSRF) в функции синхронизации удаленного экземпляра. Адреса удаленных экземпляров перед сохранением проверялись только на предмет базового синтаксиса URL-адресов, а исполнитель синхронизации позже разыменовывал эти адреса с помощью Request.get() с автоматической обработкой перенаправления и без применения ограничений на границах сети. Аутентифицированный администратор с разрешением admin:access может настроить удаленный экземпляр, адрес которого указывает на внутреннюю, петлевую, локальную или облачную службу метаданных HTTP(S).
При выполнении синхронизации сервер поиска уязвимостей выдает запрос из своего собственного сетевого контекста. Злоумышленник также может использовать общедоступный URL-адрес, который перенаправляет на внутренний пункт назначения, поскольку ранее перенаправления выполнялись без повторной проверки места назначения. Успешная эксплуатация может позволить привилегированному злоумышленнику исследовать или взаимодействовать со службами, которые доступны с сервера поиска уязвимостей, но недоступны для злоумышленника напрямую, включая службы частной сети или конечные точки метаданных облачного экземпляра.
Точное влияние на конфиденциальность, целостность или доступность зависит от служб, доступных с сервера приложений. Патч вводит политику общих исходящих URL-адресов, которая ограничивает удаленные экземпляры протоколом HTTP(S), отклоняет закрытые IP-адреса, разрешает имена хостов во время запроса и вручную проверяет каждый пункт назначения перенаправления перед его выполнением. Реализация явно блокирует частные, петлевые, локальные, многоадресные, зарезервированные и неуказанные адреса.
Показать оригинальное описание (EN)
Vulnerability-Lookup contains a server-side request forgery (SSRF) vulnerability in the remote-instance synchronization functionality. Remote instance addresses were validated only for basic URL syntax before being stored, while the synchronization worker later dereferenced these addresses using requests.get() with automatic redirect handling and without enforcing network-boundary restrictions. An authenticated administrator with the admin:access permission could configure a remote instance whose address points to an internal, loopback, link-local, or cloud metadata HTTP(S) service. When synchronization is performed, the Vulnerability-Lookup server would issue the request from its own network context. An attacker could also use a publicly accessible URL that redirects to an internal destination, because redirects were previously followed without revalidating the destination. Successful exploitation could allow a privileged attacker to probe or interact with services that are accessible from the Vulnerability-Lookup server but not directly reachable by the attacker, including private network services or cloud instance metadata endpoints. The exact confidentiality, integrity, or availability impact depends on the services reachable from the application server. The patch introduces a shared outbound URL policy that restricts remote instances to HTTP(S), rejects non-public IP addresses, resolves hostnames at request time, and manually validates each redirect destination before following it. The implementation explicitly blocks private, loopback, link-local, multicast, reserved, and unspecified addresses.
Характеристики атаки
Последствия
Строка CVSS v4.0