./index.php
Operação #1
Encontre:
* @version 2.0.10
substituir por:
* @version 2.0.11
Operação #2
Encontre:
$forum_version = 'SMF 2.0.10';
substituir por:
$forum_version = 'SMF 2.0.11';
./Sources/Load.php
Operação #1
Encontre:
@version 2.0.10
substituir por:
@version 2.0.11
Operação #2
Encontre:
list ($id_member, $password) = @unserialize($_COOKIE[$cookiename]);
substituir por:
list ($id_member, $password) = safe_unserialize($_COOKIE[$cookiename]);
Operação #3
Encontre:
list ($id_member, $password, $login_span) = @unserialize($_SESSION['login_' . $cookiename]);
substituir por:
list ($id_member, $password, $login_span) = safe_unserialize($_SESSION['login_' . $cookiename]);
./Sources/LogInOut.php
Operação #1
Encontre:
@version 2.0.7
substituir por:
@version 2.0.11
Operação #2
Encontre:
list (, , $timeout) = @unserialize($_COOKIE[$cookiename]);
substituir por:
list (, , $timeout) = safe_unserialize($_COOKIE[$cookiename]);
Operação #3
[color=red]Encontre: [/color]
list (, , $timeout) = @unserialize($_SESSION['login_' . $cookiename]);
substituir por:
list (, , $timeout) = safe_unserialize($_SESSION['login_' . $cookiename]);
./Sources/ManageMembers.php
Operação #1
Encontre:
@version 2.0
substituir por:
@version 2.0.11
Operação #2
Encontre:
$_POST += @unserialize(base64_decode($_REQUEST['params']));
substituir por:
$_POST += safe_unserialize(base64_decode($_REQUEST['params']));
./Sources/Modlog.php
Operação #1
Encontre:
@version 2.0.7
substituir por:
@version 2.0.11
Operação #2
Encontre:
$search_params = @unserialize($search_params);
substituir por:
$search_params = safe_unserialize($search_params);
./Sources/Packages.php
Operação #1
Encontre:
@version 2.0.10
substituir por:
@version 2.0.11
Operação #2
Encontre:
$potententialTrees = unserialize(base64_decode($_GET['back_look']));
substituir por:
$potententialTrees = safe_unserialize(base64_decode($_GET['back_look']));
Operação #3
Encontre:
$_POST['permStatus'] = unserialize(base64_decode($_POST['toProcess']));
substituir por:
$_POST['permStatus'] = safe_unserialize(base64_decode($_POST['toProcess']));
Operação #4
Encontre:
$context['directory_list'] = isset($_POST['dirList']) ? unserialize(base64_decode($_POST['dirList'])) : array();
substituir por:
$context['directory_list'] = isset($_POST['dirList']) ? safe_unserialize(base64_decode($_POST['dirList'])) : array();
Operação #5
Encontre:
$context['special_files'] = unserialize(base64_decode($_POST['specialFiles']));
substituir por:
$context['special_files'] = safe_unserialize(base64_decode($_POST['specialFiles']));
./Sources/Subs-Auth.php
Operação #1
Encontre:
@version 2.0.9
substituir por:
@version 2.0.11
Operação #2
Encontre:
$array = @unserialize($_COOKIE[$cookiename]);
substituir por:
$array = safe_unserialize($_COOKIE[$cookiename]);
./Sources/Subs-Editor.php
Operação #1
Encontre:
@version 2.0.8
substituir por:
@version 2.0.11
Operação #2
Encontre:
$context['search_param'] = isset($_REQUEST['search_param']) ? unserialize(base64_decode($_REQUEST['search_param'])) : array();
substituir por:
$context['search_param'] = isset($_REQUEST['search_param']) ? safe_unserialize(base64_decode($_REQUEST['search_param'])) : array();
./Sources/Subs-OpenID.php
Operação #1
Encontre:
@version 2.0
substituir por:
@version 2.0.11
Operação #2
Encontre:
$context['openid_save_fields'] = isset($_GET['sf']) ? unserialize(base64_decode($_GET['sf'])) : array();
substituir por:
$context['openid_save_fields'] = isset($_GET['sf']) ? safe_unserialize(base64_decode($_GET['sf'])) : array();
./Sources/Subs.php
Operação #1
Encontre:
@version 2.0.8
substituir por:
@version 2.0.11
Operação #2
Encontre:
void remove_integration_function(string hook, string function)
- removes the given function from the given hook.
- does nothing if the functions is not available.
substituir por:
void remove_integration_function(string hook, string function)
- removes the given function from the given hook.
- does nothing if the functions is not available.
array safe_unserialize(string data)
- sanitizes input before unserializing string.
Operação #3
Encontre:
function return_chr__preg_callback($matches)
{
return chr($matches[1]);
}
substituir por:
function return_chr__preg_callback($matches)
{
return chr($matches[1]);
}
function safe_unserialize($data)
{
// There's no reason input should contain an object,
// user is up to no good...
if (preg_match('/(^|;|{|})O:([0-9]|\+|\-)+/', $data) === 0)
return @unserialize($data);
}