CVE-2024-38856
Apache OFBiz
2024-08-27
Apache OFBiz contains an incorrect authorization vulnerability that could allow remote code execution via a Groovy payload in the context of the OFBiz user process by an unauthenticated attacker.
Технический анализ и план устранения
Суть уязвимости
CVE-2024-38856 — это критическая уязвимость (CVSS 9.8), связанная с некорректной проверкой авторизации в Apache OFBiz. Проблема заключается в том, что определенные эндпоинты (например, /ProgramExport), которые должны быть защищены, оказываются доступными без аутентификации при обращении через специфические пути контроллера.
Злоумышленник может отправить специально сформированный POST-запрос, содержащий Groovy-скрипт в параметре groovyProgram. Поскольку приложение выполняет этот код в контексте процесса OFBiz, это приводит к полному удаленному выполнению произвольного кода (RCE) на сервере. Уязвимость затрагивает версии до 18.12.14 включительно.
Как исправить
Основным способом устранения является обновление Apache OFBiz до версии 18.12.15 или выше. В этой версии исправлена логика фильтрации запросов и проверки прав доступа.
- Перейдите в корневой каталог установленного приложения:
cd /path/to/apache-ofbiz
- Остановите текущий экземпляр приложения:
./gradlew "ofbiz --shutdown"
-
Сделайте резервную копию базы данных и конфигурационных файлов.
-
Загрузите актуальную версию (18.12.15+) с официального сайта или обновите исходный код через git:
git pull origin release18.12
- Соберите проект и запустите его:
./gradlew cleanAll loadAll
./gradlew ofbiz
Временные меры
Если немедленное обновление невозможно, необходимо ограничить доступ к уязвимым путям на уровне сетевого экрана или обратного прокси-сервера (Nginx/Apache HTTPD).
- Настройте блокировку доступа к эндпоинту
/webtools/control/ProgramExportдля всех внешних IP-адресов.
Пример конфигурации для Nginx:
location /webtools/control/ProgramExport {
deny all;
return 403;
}
-
Проверьте конфигурацию
framework/common/webapps/webtools/WEB-INF/controller.xmlи убедитесь, что для всех чувствительных операций (view/request) параметрauth="true"настроен корректно. -
Ограничьте доступ к административной панели OFBiz, разрешив подключения только из доверенных сегментов сети (VPN/Management VLAN).