Ech0 — это самостоятельная издательская платформа с открытым исходным кодом для обмена личными идеями. До версии 4.2.8 Ech0 реализовывал предварительный просмотр ссылки (редактор извлекает заголовок страницы) через GET /api/website/title. Это законное поведение продукта, но реализация небезопасна: маршрут не аутентифицирован, принимает URL-адрес, полностью контролируемый злоумышленником, выполняет GET на стороне сервера, считывает все тело ответа в память (io.ReadAll). На исходящем клиенте нет списка разрешенных хостов, фильтра SSRF и InsecureSkipVerify: true.
Любой, кто может получить доступ к экземпляру, может заставить сервер Ech0 открыть URL-адреса HTTP/HTTPS по своему выбору, как видно из сетевой позиции сервера (мост Docker, VPC, localhost из представления процесса). Эта уязвимость исправлена в версии 4.2.8.
Показать оригинальное описание (EN)
Ech0 is an open-source, self-hosted publishing platform for personal idea sharing. Prior to 4.2.8, Ech0 implements link preview (editor fetches a page title) through GET /api/website/title. That is legitimate product behavior, but the implementation is unsafe: the route is unauthenticated, accepts a fully attacker-controlled URL, performs a server-side GET, reads the entire response body into memory (io.ReadAll). There is no host allowlist, no SSRF filter, and InsecureSkipVerify: true on the outbound client. Anyone who can reach the instance can force the Ech0 server to open HTTP/HTTPS URLs of their choice as seen from the server’s network position (Docker bridge, VPC, localhost from the process view). This vulnerability is fixed in 4.2.8.
Характеристики атаки
Последствия
Строка CVSS v3.1