Вышел Symfony 2.0.6
Вышло обновление безопасности замечательного php-фреймворка Symfony за версией 2.0.6. Эта версия исправляет security vulnerability (уязвимость безопасности) в EntityUserProvider в мосте к Doctrine.
Уязвимость проявляется, если Вы позволяете пользователям обновлять их именя и логины из формы(login/username from a form) и когда Вы совместно используете Doctrine как провайдер (user provider). Дело в том, что существует возможность сменить пользователя.
Воспроизводится уязвимость следующим образом: текущий пользователь меняет своё имя через вашу специальную форму на уже существующее имя. (Here is how to reproduce it: The current user changes its username via a form to another existing username). При отсылки формы будет получено сообщение об ошибке — пользователь существует(validation error (as the username already exists)), но смена пользователя произошла в текущей session. Именно эта сессия будет использована для последующих запросов, что бы произвести смену пользователя.
Исправление уязвимости состоит в том, что при обновлении значений для «обьекста Пользователь» нужно использовать первичный ключ (the primary key).
Вы можете воспользоваться patch, а вот CHANGELOG и diff.
Обновить более старую версию Symfony Standard Edition 2.0.x еще очень легко, используя новые deps and deps.lock файлы и используя консольную команду:
$ ./bin/vendors install
А теперь очистим кеш(cache):
$ php ./app/console cache:clear