CVE-2024-45195
Apache OFBiz
2025-02-04
Apache OFBiz contains a forced browsing vulnerability that allows a remote attacker to obtain unauthorized access.
Технический анализ и план устранения
Суть уязвимости
CVE-2024-45195 представляет собой критическую уязвимость типа Forced Browsing (принудительный просмотр страниц) в Apache OFBiz. Проблема возникла из-за недостаточной проверки прав доступа при обработке определенных URL-запросов.
Злоумышленник может обойти механизмы аутентификации и авторизации, обращаясь к внутренним представлениям (views) напрямую, минуя контроллеры безопасности. Это позволяет неавторизованному пользователю просматривать конфиденциальные данные или выполнять административные действия, которые должны быть защищены. Уязвимость затрагивает версии до 18.12.16 включительно.
Как исправить
Основным и рекомендуемым способом устранения является обновление Apache OFBiz до версии 18.12.16 или выше. В этой версии исправлена логика проверки прав доступа в ControlServlet и конфигурациях контроллеров.
- Перейдите в корневой каталог установленного приложения:
cd /opt/ofbiz
- Загрузите актуальную версию или примените обновление через систему контроля версий (если используется Git):
git pull origin release18.12
- Выполните сборку проекта с помощью Gradle:
./gradlew clean build
- Перезапустите сервис OFBiz для применения изменений:
systemctl restart ofbiz
Временные меры
Если немедленное обновление невозможно, необходимо ограничить доступ на уровне сетевого периметра или конфигурации сервера.
-
Настройте правила WAF (Web Application Firewall) для блокировки подозрительных запросов к путям, содержащим прямые вызовы представлений, которые не требуют авторизации.
-
Ограничьте доступ к административной панели (по умолчанию
/partymgr,/webtools,/catalog) только для доверенных IP-адресов через конфигурацию Nginx или Apache HTTPd:
location /webtools/ {
allow 192.168.1.0/24;
deny all;
proxy_pass http://localhost:8080;
}
- Проведите аудит файла
controller.xmlв каждом компоненте и убедитесь, что для всех критическихrequest-mapатрибутauth="true"настроен корректно.