Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Исправлена уязвимость в Laravel 4.1.28 и ниже, позволяющая провести SQL инъекцию при использовании массового заполнения или обновления свойств модели из-за недостаточного экранирования кавычек колонок в конечном запросе. При условии что свойство модели $fillable не заполнено полями разрешенными к массовому заполнению. Т.е. если вы используете свойство $fillable ваше приложение не подвержено этой уязвимости. В тоже время используя свойство модели $guarded (в нем указываются поля в противоположность $fillable, т.е. запрещенные к массовому заполнению) ваше приложение подвержено уязвимости.
- Немного примеров:
- // Не подвержено уязвимости
- class User extende Model {
- protected $fillable = array('email','username');
- }
- // Подвержено уязвимости
- class User extende Model {
- protected $guarded = array('password');
- }
- $input = array(
- 'username' => 'Lara',
- 'email' => 'laravel@laravel.com',
- 'password' => 'some_password'
- );
- $user = new User($input);
- // или
- $user = User::create($input);
- // или
- $user->fill($input);
- $user->update($input);
- http://laravel.com/docs/upgrade#upgrade-4.1.29
- https://github.com/laravel/framework/commit/c942a1bc30999e3d7a5567f264bfc99c77843919#diff-132870d3cbe60fc402aa1a0a8b47387cR141
- Желательно обновить версию Laravel до 4.1.29 в не зависимости от того используете ли вы указанное выше или нет.
- Обновлять как обычно через консоль командой `composer update`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement