Уязвимость в Yii 1.1.14
Рубрика: Программирование -> PHP
Метки: framework | Yii | программирование | уязвимости
Просмотров: 6624
Уязвимости есть всегда и везде. Наивно полагать, что выбирая тот или иной навороченный фреймворк, автоматически решаются возможные проблемы с безопасностью. Вчера узнал, что в версии 1.1.14 популярного фреймворка Yii была обнаружена серьезная уязвимость, позволяющая при определенных условиях выполнять произвольный PHP-код. Разработчики выпустили обновление (версия 1.1.15), полностью исправляющее проблему. Всем любителям Yii настоятельно рекомендуется обновится в срочном порядке.
Бажный код находится в виджете «CDetailView». Если приложение принимает значение «value», переданное пользователем, и не выполняет никаких проверок, то можно скомпрометировать сценарий и выполнить произвольный код. Лучше всего проблему иллюстрирует сам код:
//Бажный код с отсутствием проверки
//Передаем имя любой php-функции и она успешно выполняется
is_callable($attribute['value'])? call_user_func($attribute['value'],$this->data)
Читая о таких ошибках, начинаешь в серьез задумываться о количестве уязвимых проектов. Ведь не все разработчики сопровождают свои творения после релиза, а значит, эти сайты будут подвержены уязвимостям. Особенно это касается бюджетных проектов, где взаимодействие с девелопером заканчивается после релиза продукта.
Фреймворки дают несомненную крутость и гибкость разработки, но заказчикам простых сайтов с типовым функционалом стоит трижды подумать прежде, чем соглашаться на применение фреймворков. Если не планируется активная работа над сайтом, то проще ограничится CMS с функцией автоматического обновления. Благо, подобный функционал сегодня есть практически у любой коммерческой CMS.