Advertisement
vanchelo

Laravel 4.1.29 Updates

May 20th, 2014
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.02 KB | None | 0 0
  1. Исправлена уязвимость в Laravel 4.1.28 и ниже, позволяющая провести SQL инъекцию при использовании массового заполнения или обновления свойств модели из-за недостаточного экранирования кавычек колонок в конечном запросе. При условии что свойство модели $fillable не заполнено полями разрешенными к массовому заполнению. Т.е. если вы используете свойство $fillable ваше приложение не подвержено этой уязвимости. В тоже время используя свойство модели $guarded (в нем указываются поля в противоположность $fillable, т.е. запрещенные к массовому заполнению) ваше приложение подвержено уязвимости.
  2.  
  3. Немного примеров:
  4.  
  5. // Не подвержено уязвимости
  6. class User extende Model {
  7.     protected $fillable = array('email','username');
  8. }
  9.  
  10. // Подвержено уязвимости
  11. class User extende Model {
  12.     protected $guarded = array('password');
  13. }
  14.  
  15. $input = array(
  16.     'username' => 'Lara',
  17.     'email' => 'laravel@laravel.com',
  18.     'password' => 'some_password'
  19. );
  20. $user = new User($input);
  21. // или
  22. $user = User::create($input);
  23. // или
  24. $user->fill($input);
  25. $user->update($input);
  26.  
  27. http://laravel.com/docs/upgrade#upgrade-4.1.29
  28. https://github.com/laravel/framework/commit/c942a1bc30999e3d7a5567f264bfc99c77843919#diff-132870d3cbe60fc402aa1a0a8b47387cR141
  29.  
  30. Желательно обновить версию Laravel до 4.1.29 в не зависимости от того используете ли вы указанное выше или нет.
  31. Обновлять как обычно через консоль командой `composer update`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement