Advertisement
CHERTS

joomla_2.5.28_security_fix_remote_code_execution

Dec 15th, 2015
452
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.10 KB | None | 0 0
  1. --- libraries/joomla/session/session.php.orig   2015-12-15 11:33:33.038861090 +0500
  2. +++ libraries/joomla/session/session.php        2015-12-15 11:37:50.990400875 +0500
  3. @@ -881,14 +881,8 @@
  4.                         }
  5.                 }
  6.  
  7. -               // Record proxy forwarded for in the session in case we need it later
  8. -               if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  9. -               {
  10. -                       $this->set('session.client.forwarded', $_SERVER['HTTP_X_FORWARDED_FOR']);
  11. -               }
  12. -
  13.                 // Check for client address
  14. -               if (in_array('fix_adress', $this->_security) && isset($_SERVER['REMOTE_ADDR']))
  15. +               if(in_array('fix_adress', $this->_security) && isset($_SERVER['REMOTE_ADDR']) && filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP) !== false)
  16.                 {
  17.                         $ip = $this->get('session.client.address');
  18.  
  19. @@ -903,20 +897,10 @@
  20.                         }
  21.                 }
  22.  
  23. -               // Check for clients browser
  24. -               if (in_array('fix_browser', $this->_security) && isset($_SERVER['HTTP_USER_AGENT']))
  25. -               {
  26. -                       $browser = $this->get('session.client.browser');
  27. -
  28. -                       if ($browser === null)
  29. -                       {
  30. -                               $this->set('session.client.browser', $_SERVER['HTTP_USER_AGENT']);
  31. -                       }
  32. -                       elseif ($_SERVER['HTTP_USER_AGENT'] !== $browser)
  33. +               // Record proxy forwarded for in the session in case we need it later
  34. +               if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && filter_var($_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP) !== false)
  35.                         {
  36. -                               // @todo remove code:                           $this->_state   =       'error';
  37. -                               // @todo remove code:                           return false;
  38. -                       }
  39. +                       $this->set('session.client.forwarded', $_SERVER['HTTP_X_FORWARDED_FOR']);
  40.                 }
  41.  
  42.                 return true;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement