Astro — это веб-фреймворк. В версиях с 9.0.0 по 9.5.3 ошибка в конвейере изображений Astro позволяет обойти ограничения `image.domains` / `image.remotePatterns`, позволяя серверу получать контент с неавторизованных удаленных хостов. Astro предоставляет опцию inferSize, которая извлекает удаленные изображения во время рендеринга для определения их размеров.
Удаленное получение изображений должно быть ограничено доменами, которые разработчик сайта авторизовал вручную (с использованием параметров image.domains или image.remotePatterns). Однако при использовании inferSize проверка домена не выполняется — изображение извлекается с любого хоста независимо от настроенных ограничений. Злоумышленник, который может повлиять на URL-адрес изображения (например, через контент CMS или данные, предоставленные пользователем), может заставить сервер получать данные с произвольных хостов.
Это позволяет обойти ограничения `image.domains` / `image.remotePatterns` и отправлять серверные запросы к неавторизованным хостам. Сюда входит риск подделки запросов на стороне сервера (SSRF) против внутренних сетевых служб и конечных точек облачных метаданных. Версия 9.5.4 устраняет проблему.
Показать оригинальное описание (EN)
Astro is a web framework. In versions 9.0.0 through 9.5.3, a bug in Astro's image pipeline allows bypassing `image.domains` / `image.remotePatterns` restrictions, enabling the server to fetch content from unauthorized remote hosts. Astro provides an `inferSize` option that fetches remote images at render time to determine their dimensions. Remote image fetches are intended to be restricted to domains the site developer has manually authorized (using the `image.domains` or `image.remotePatterns` options). However, when `inferSize` is used, no domain validation is performed — the image is fetched from any host regardless of the configured restrictions. An attacker who can influence the image URL (e.g., via CMS content or user-supplied data) can cause the server to fetch from arbitrary hosts. This allows bypassing `image.domains` / `image.remotePatterns` restrictions to make server-side requests to unauthorized hosts. This includes the risk of server-side request forgery (SSRF) against internal network services and cloud metadata endpoints. Version 9.5.4 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1