aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2014-11-16 11:09:53 +0100
committerMarc Alexander <admin@m-a-styles.de>2014-11-21 22:32:28 +0100
commitda1888a7fad3be8a42b326e24bd676c92a7e4c51 (patch)
tree7d31e3744639e12d43c50ab18d107a4ed455763b /phpBB
parentf719803fdc8f16430ed3e85625dd337da1de52d9 (diff)
downloadforums-da1888a7fad3be8a42b326e24bd676c92a7e4c51.tar
forums-da1888a7fad3be8a42b326e24bd676c92a7e4c51.tar.gz
forums-da1888a7fad3be8a42b326e24bd676c92a7e4c51.tar.bz2
forums-da1888a7fad3be8a42b326e24bd676c92a7e4c51.tar.xz
forums-da1888a7fad3be8a42b326e24bd676c92a7e4c51.zip
[ticket/security-171] Use type cast helper for json data
SECURITY-171
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/phpbb/version_helper.php16
1 files changed, 7 insertions, 9 deletions
diff --git a/phpBB/phpbb/version_helper.php b/phpBB/phpbb/version_helper.php
index c3c3602944..3c5f3efcf2 100644
--- a/phpBB/phpbb/version_helper.php
+++ b/phpBB/phpbb/version_helper.php
@@ -259,6 +259,13 @@ class version_helper
$info = json_decode($info, true);
+ // Sanitize any data we retrieve from a server
+ $json_sanitizer = function(&$value, $key) {
+ $type_cast_helper = new \phpbb\request\type_cast_helper();
+ $type_cast_helper->set_var($value, $value, gettype($value), true);
+ };
+ array_walk_recursive($info, $json_sanitizer);
+
if (empty($info['stable']) && empty($info['unstable']))
{
$this->user->add_lang('acp/common');
@@ -266,15 +273,6 @@ class version_helper
throw new \RuntimeException($this->user->lang('VERSIONCHECK_FAIL'));
}
- // Replace & with &amp; on announcement links
- foreach ($info as $stability => $branches)
- {
- foreach ($branches as $branch => $branch_data)
- {
- $info[$stability][$branch]['announcement'] = (!empty($branch_data['announcement'])) ? str_replace('&', '&amp;', $branch_data['announcement']) : '';
- }
- }
-
$info['stable'] = (empty($info['stable'])) ? array() : $info['stable'];
$info['unstable'] = (empty($info['unstable'])) ? $info['stable'] : $info['unstable'];