Shelf — это платформа для отслеживания физических активов. До версии 1.20.3 аутентифицированные пользователи с разрешением `asset:import` могли инициировать HTTP-запросы на стороне сервера к URL-адресам, контролируемым злоумышленниками, с помощью функции импорта контента Asset CSV. Логику проверки `imageUrl` можно обойти с помощью нескольких методов, включая суффиксы расширения изображения, ключевые слова пути, связанные с изображением, сопоставление подстрок домена и цепочки перенаправления.
После проверки сервер выполняет неограниченный запрос fetch() к предоставленному URL-адресу. Это приводит к уязвимости подделки запросов на стороне сервера (SSRF), которая позволяет злоумышленникам получить доступ к внутренним сетевым службам, конечным точкам облачных метаданных и произвольным внешним хостам из сетевого контекста приложения. Кроме того, тела ответа полностью буферизуются перед проверкой размера, что создает потенциальный вектор исчерпания памяти.
Версия 1.20.3 исправляет проблему.
Показать оригинальное описание (EN)
Shelf is a platform for tracking physical assets. Prior to version 1.20.3, authenticated users with the `asset:import` permission can trigger server-side HTTP requests to attacker-controlled URLs through the Asset CSV Content Import feature. The `imageUrl` validation logic can be bypassed through multiple techniques, including image-extension suffixes, image-related path keywords, domain substring matching, and redirect chains. After validation, the server performs an unrestricted `fetch()` request to the supplied URL. This results in a Server-Side Request Forgery (SSRF) vulnerability that allows attackers to reach internal network services, cloud metadata endpoints, and arbitrary external hosts from the application's network context. Additionally, response bodies are fully buffered before size validation, creating a potential memory exhaustion vector. Version 1.20.3 patches the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1