Эксперты по информационной безопасности обнаружили множество уязвимостей в программе CitrusDB, сообщает CNews.ru.
CitrusDB – популярное веб-приложение с открытым исходным кодом для работы с базами данных; его используют во многих системах электронной торговли. Найденные уязвимости позволяют удале
ному пользователю обойти авторизацию, получить доступ к данным других пользователей, в том числе к информации о кредитных картах, произвести SQL-инъекцию, выполнить произвольный php-сценарий.
Уязвимость существует в механизме проверки подлинности пользователя, которая выполняется на основе имени пользователя и идентификатора хеша, передаваемых с помощью файлов cookie (для всех пользователей идентификатором является строка boogaadeeboo). Имя пользователя и идентификатор хешируются с помощью md5-алгоритма. Зная логин администратора (по умолчанию admin), удаленный пользователь может изменить свой файл cookie и получить административный доступ к CitrusDB.
В программе отсутствует проверка подлинности пользователей в сценариях /citrusdb/tools/importcc.php и ./citrusdb/tools/uploadcc.php. Удаленный авторизованный пользователь может загрузить произвольный cvs-файл, содержащий некорректные данные кредитных карт, а также получить доступ к временным файлам, в которых хранятся данные о кредитных картах других пользователей. Также, удаленный пользователь может произвести SQL-инъекцию из-за отсутствия должной проверки в сценарии импорта данных в БД.
Для подключения внешних модулей используется сценарий /citrusdb/tools/index.php. Удаленный авторизованный пользователь может в качестве параметра переменной load в HTTP GET запросе указать произвольный php-сценарий, сохраненный на локальном сервере, который будет выполнен с привилегиями веб-сервера.
“Дыры” находятся в CitrusDB 0.3.6 и более ранних версий. Для указанных уязвимостей уже существует эксплоит. Способов устранения уязвимостей пока нет.