Конечная точка POST /api/v1/convert/url/pdf Stirling-PDF (ConvertWebsiteToPDF.java) не была обновлена с помощью средств защиты CustomHtmlSanitizer/SsrfProtectionService SSRF, которые были добавлены к трем конечным точкам одноуровневого преобразования (html/pdf, file/pdf, markdown/pdf). Конечная точка проверяет только то, что исходный запрошенный URL-адрес разрешается в общедоступный IP-адрес, затем извлекает серверную часть HTML-страницы и передает ее в необработанном виде подпроцессу WeasyPrint. Ссылки на встроенные ресурсы в извлеченном HTML (например, `<img src="http://169.254.169.254/...">`) извлекаются WeasyPrint без фильтрации SSRF для каждого ресурса, что позволяет странице, контролируемой злоумышленником, заставить сервер получать конечные точки облачных метаданных или внутренние сетевые ресурсы и сливать их содержимое обратно в сгенерированный PDF-файл.
Показать оригинальное описание (EN)
Stirling-PDF's POST /api/v1/convert/url/pdf endpoint (ConvertWebsiteToPDF.java) was not updated with the CustomHtmlSanitizer/SsrfProtectionService SSRF protections that were added to three sibling conversion endpoints (html/pdf, file/pdf, markdown/pdf). The endpoint validates only that the initial requested URL resolves to a public IP, then fetches the page's HTML server-side and hands it, unsanitized, to a WeasyPrint subprocess. Embedded resource references in the fetched HTML (e.g. `<img src="http://169.254.169.254/...">`) are fetched by WeasyPrint with no per-resource SSRF filtering, allowing an attacker-controlled page to cause the server to retrieve cloud metadata endpoints or internal network resources and leak their contents back into the generated PDF.
Характеристики атаки
Последствия
Строка CVSS v3.1