EspoCRM — это приложение для управления взаимоотношениями с клиентами с открытым исходным кодом. Версии 9.3.3 и ниже имеют уязвимость подделки запросов на стороне сервера (SSRF), которая позволяет обойти логику проверки внутреннего хоста с помощью альтернативных представлений IPv4, таких как восьмеричная нотация (например, 0177.0.0.1 вместо 127.0.0.1). Это вызвано функцией HostCheck::isNotInternalHost(), использующей PHP filter_var(..., FILTER_VALIDATE_IP), которая не распознает альтернативные форматы IP, в результате чего проверка проваливается при поиске DNS, который не возвращает никаких записей и неправильно считает хост безопасным, однако cURL впоследствии нормализует адрес и подключается к месту назначения обратной связи.
Через подтвержденную конечную точку /api/v1/Attachment/fromImageUrl аутентифицированный пользователь может заставить сервер отправлять запросы к службам только с обратной связью и сохранять полученный ответ в виде вложения. Эта уязвимость отличается от CVE-2023-46736 (которая задействовала SSRF на основе перенаправления) и может позволить получить доступ к внутренним ресурсам, доступным из среды выполнения приложения. Эта проблема исправлена в версии 9.3.4.
Показать оригинальное описание (EN)
EspoCRM is an open source customer relationship management application. Versions 9.3.3 and below have an authenticated Server-Side Request Forgery (SSRF) vulnerability that allows bypassing the internal-host validation logic by using alternative IPv4 representations such as octal notation (e.g., 0177.0.0.1 instead of 127.0.0.1). This is caused by HostCheck::isNotInternalHost() function relying on PHP's filter_var(..., FILTER_VALIDATE_IP), which does not recognize alternative IP formats, causing the validation to fall through to a DNS lookup that returns no records and incorrectly treats the host as safe, however the cURL subsequently normalizes the address and connects to the loopback destination. Through the confirmed /api/v1/Attachment/fromImageUrl endpoint, an authenticated user can force the server to make requests to loopback-only services and store the fetched response as an attachment. This vulnerability is distinct from CVE-2023-46736 (which involved redirect-based SSRF) and may allow access to internal resources reachable from the application runtime. This issue has been fixed in version 9.3.4.
Характеристики атаки
Последствия
Строка CVSS v3.1