Changeset 601

Show
Ignore:
Timestamp:
10/15/06 16:31:18 (2 years ago)
Author:
Rickard
Message:

Fixed a local file inclusion vulnerability. Was fixed into profile.php some time ago, but for some reason, was left out of register.php.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/upload/admin_options.php

    r588 r601  
    4646        if ($form['board_title'] == '') 
    4747                message('You must enter a board title.'); 
     48 
     49        // Clean default_lang 
     50        $form['default_lang'] = preg_replace('#[\.\\\/]#', '', $form['default_lang']); 
    4851 
    4952        require PUN_ROOT.'include/email.php'; 
  • trunk/upload/register.php

    r336 r601  
    174174        } 
    175175 
     176        // Make sure we got a valid language string 
     177        if (isset($_POST['language'])) 
     178        { 
     179                $language = preg_replace('#[\.\\\/]#', '', $_POST['language']); 
     180                if (!file_exists(PUN_ROOT.'lang/'.$language.'/common.php')) 
     181                                message($lang_common['Bad request']); 
     182        } 
     183        else 
     184                $language = $pun_config['o_default_lang']; 
     185 
    176186        $timezone = intval($_POST['timezone']); 
    177         $language = isset($_POST['language']) ? $_POST['language'] : $pun_config['o_default_lang']; 
    178187        $save_pass = (!isset($_POST['save_pass']) || $_POST['save_pass'] != '1') ? '0' : '1'; 
    179188