From 037af6890fe6fdb84a08d3c86083e847c90ec0ad Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Tue, 22 Oct 2013 08:17:26 -0400 Subject: [PATCH] Fix vulnerability in handling _session argument of utils/save-prefs (#1489382) --- program/lib/Roundcube/bootstrap.php | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/program/lib/Roundcube/bootstrap.php b/program/lib/Roundcube/bootstrap.php index bb93b53..ed4c2fa 100644 --- a/program/lib/Roundcube/bootstrap.php +++ b/program/lib/Roundcube/bootstrap.php @@ -55,7 +55,7 @@ } // framework constants -define('RCUBE_VERSION', '0.9.3'); +define('RCUBE_VERSION', '0.9.4'); define('RCUBE_CHARSET', 'UTF-8'); if (!defined('RCUBE_LIB_DIR')) { @@ -84,11 +84,14 @@ @mb_regex_encoding(RCUBE_CHARSET); } -// make sure the lib directory is in the include_path -$rcube_include_path = realpath(RCUBE_LIB_DIR . '..'); -$sep = PATH_SEPARATOR; -if (!preg_match("!(^|$sep)$rcube_include_path($sep|\$)!", ini_get('include_path'))) { - set_include_path(ini_get('include_path') . PATH_SEPARATOR . $rcube_include_path); +// make sure the Roundcube lib directory is in the include_path +$rcube_path = realpath(RCUBE_LIB_DIR . '..'); +$sep = PATH_SEPARATOR; +$regexp = "!(^|$sep)" . preg_quote($rcube_path, '!') . "($sep|\$)!"; +$path = ini_get('include_path'); + +if (!preg_match($regexp, $path)) { + set_include_path($path . PATH_SEPARATOR . $rcube_path); } // Register autoloader -- Gitblit v1.9.1