- escape Smarty error messages to avoid possible script execution

This commit is contained in:
uwe.tews@googlemail.com
2012-09-24 20:05:15 +00:00
parent 7dc58993ad
commit b67c7082a7
2 changed files with 13 additions and 7 deletions

View File

@@ -1,3 +1,8 @@
2012-09-24 Uwe Tews
* Fixed escape Smarty error messages to avoid possible script execution
2010-04-17 Uwe Tews 2010-04-17 Uwe Tews
* Fixed security hole in {math} plugin * Fixed security hole in {math} plugin

View File

@@ -20,7 +20,7 @@
* *
* For questions, help, comments, discussion, etc., please join the * For questions, help, comments, discussion, etc., please join the
* Smarty mailing list. Send a blank e-mail to * Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com * smarty-discussion-subscribe@googlegroups.com
* *
* @link http://www.smarty.net/ * @link http://www.smarty.net/
* @copyright 2001-2005 New Digital Group, Inc. * @copyright 2001-2005 New Digital Group, Inc.
@@ -1058,7 +1058,7 @@ class Smarty
} else { } else {
// var non-existant, return valid reference // var non-existant, return valid reference
$_tmp = null; $_tmp = null;
return $_tmp; return $_tmp;
} }
} }
@@ -1090,7 +1090,8 @@ class Smarty
*/ */
function trigger_error($error_msg, $error_type = E_USER_WARNING) function trigger_error($error_msg, $error_type = E_USER_WARNING)
{ {
trigger_error("Smarty error: $error_msg", $error_type); $msg = htmlentities($error_msg);
trigger_error("Smarty error: $msg", $error_type);
} }
@@ -1117,7 +1118,7 @@ class Smarty
function fetch($resource_name, $cache_id = null, $compile_id = null, $display = false) function fetch($resource_name, $cache_id = null, $compile_id = null, $display = false)
{ {
static $_cache_info = array(); static $_cache_info = array();
$_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(isset($this->error_reporting) $_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(isset($this->error_reporting)
? $this->error_reporting : error_reporting() & ~E_NOTICE); ? $this->error_reporting : error_reporting() & ~E_NOTICE);
@@ -1933,10 +1934,10 @@ class Smarty
{ {
return eval($code); return eval($code);
} }
/** /**
* Extracts the filter name from the given callback * Extracts the filter name from the given callback
* *
* @param callback $function * @param callback $function
* @return string * @return string
*/ */
@@ -1951,7 +1952,7 @@ class Smarty
return $function; return $function;
} }
} }
/**#@-*/ /**#@-*/
} }