SearchController Pixelfed (за промежуточным программным обеспечением аутентификации) принимает URL-адрес через свои параметры удаленного поиска и извлекает его на стороне сервера через ActivityPubFetchService, чья validateUrl() блокирует только буквальные хосты 127.0.0.1, localhost и ::1 и требует https, без проверки разрешенного IP-адреса на соответствие частным, внутренним или локальным диапазонам ссылок (например, 169.254.169.254). Дополнительная проверка DNS отключена по умолчанию и, если она включена, только подтверждает существование записи DNS без фильтрации по диапазону IP-адресов. Тело ответа на выборку возвращается запрашивающей стороне только тогда, когда Content-Type соответствует типу контента ActivityPub, что делает его полуслепым, но аутентифицированным примитивом SSRF, доступным любому вошедшему в систему пользователю.
Показать оригинальное описание (EN)
Pixelfed's SearchController (behind the auth middleware) accepts a URL via its remote-search parameters and fetches it server-side through ActivityPubFetchService, whose validateUrl only blocks the literal hosts 127.0.0.1, localhost, and ::1 and requires https, without checking the resolved IP against private, internal, or link-local ranges (e.g. 169.254.169.254).
Характеристики атаки
Последствия
Строка CVSS v3.1