Несколько уязвимостей обнаружено в WebC shopping cart. Удаленный пользователь может выполнить произвольный код на системе. Локальный пользователь может получить поднятые привилегии на системе.
Как сообщается, webc.cgi/webc.exe компонент содержит переполнение буфера, уязвимость форматной строки и уязвимость в обработке файлов. Удаленный пользователь может представить длинную строку для сценария webc.cgi, чтобы вызвать переполнение буфера:
http://[target]/cgi-bin/webc.cgi/A AAAAAAAAAA ... ( ~ 550 A chars)
Также сообщается, что программа не правильно обрабатывает некоторые файлы конфигурации. Локальный пользователь может создать символьную ссылку из файла, созданного пользователем к имени конфигурационного файла webc.cgi в текущей рабочей директории. Программа прочитает файл конфигурации (на который ссылается файл, созданный пользователь) с текущей рабочей директории. Если файл конфигурации позволяет отладку процесса, то можно вызвать переполнение буфера в секции отладки и выполнить произвольный код. Эксплоит ниже.
Также программа содержит несколько переполнений стека, которые могут использоваться локальным пользователем для выполнения произвольного кода с поднятыми привилегиями. Локальный пользователь может установить чрезмерно длинную переменную PATH_INFO, которая копируется в стек без выполнения проверки границ. Уязвимость позволяет локальному пользователю выполнять произвольный код с root привилегиями.
Наконец, в программе обнаружена уязвимость форматной строки. Локальный пользователь может заставить WebC прочитать специально сформированный
webc.emf файл (используемый для хранения сообщений об ошибках), с текущей рабочей директории. Если файл содержит строки со спецификациями формата, локальный пользователь может выполнить произвольный код с root привилегиями. Пример:
020052%08x.%08x.%08x.%08x.%08x.%08x.%08x.%08x.%08x.%08x.%08x. + 449 NULLs
Уязвимость обнаружена в WebC Shopping Cart 2.011 - 5.010.