From 197203727417a03d87053a47e5aa5175a76e3e0b Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Thu, 17 Oct 2013 04:24:53 -0400 Subject: [PATCH] Fix vulnerability in handling _session argument of utils/save-prefs (#1489382) --- program/include/rcube_plugin_api.php | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 deletions(-) diff --git a/program/include/rcube_plugin_api.php b/program/include/rcube_plugin_api.php index 0e38a31..81c483b 100644 --- a/program/include/rcube_plugin_api.php +++ b/program/include/rcube_plugin_api.php @@ -27,12 +27,14 @@ class rcube_plugin_api { static private $instance; - + public $dir; public $url = 'plugins/'; public $output; public $config; - + public $allowed_prefs = array(); + public $allowed_session_prefs = array(); + public $handlers = array(); private $plugins = array(); private $tasks = array(); @@ -181,6 +183,9 @@ ) { $plugin->init(); $this->plugins[$plugin_name] = $plugin; + } + if (!empty($plugin->allowed_prefs)) { + $this->allowed_prefs = array_merge($this->allowed_prefs, $plugin->allowed_prefs); } return true; } @@ -422,6 +427,17 @@ /** + * Returns list of loaded plugins names + * + * @return array List of plugin names + */ + public function loaded_plugins() + { + return array_keys($this->plugins); + } + + + /** * Callback for template_container hooks * * @param array $attrib -- Gitblit v1.9.1