summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include/rcube_json_output.php
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-08-09 18:40:42 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-08-09 18:40:42 +0000
commitd00b46486f425432f58dc4dbfdd28bf0113f6583 (patch)
tree1570284097d023d90b8e4adc4ae924750d1a3731 /roundcubemail/program/include/rcube_json_output.php
parent1e4bb015cd11cee39ecc25bb7617edb33acdd809 (diff)
- Fix XSS vulnerability in UI messages (#1488030)
git-svn-id: https://svn.roundcube.net/trunk@5037 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_json_output.php')
-rw-r--r--roundcubemail/program/include/rcube_json_output.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_json_output.php b/roundcubemail/program/include/rcube_json_output.php
index 40a7b2a5e..ade9cc033 100644
--- a/roundcubemail/program/include/rcube_json_output.php
+++ b/roundcubemail/program/include/rcube_json_output.php
@@ -174,8 +174,15 @@ class rcube_json_output
public function show_message($message, $type='notice', $vars=null, $override=true, $timeout=0)
{
if ($override || !$this->message) {
+ if (rcube_label_exists($message)) {
+ if (!empty($vars))
+ $vars = array_map('Q', $vars);
+ $msgtext = rcube_label(array('name' => $message, 'vars' => $vars));
+ }
+ else
+ $msgtext = $message;
+
$this->message = $message;
- $msgtext = rcube_label_exists($message) ? rcube_label(array('name' => $message, 'vars' => $vars)) : $message;
$this->command('display_message', $msgtext, $type, $timeout * 1000);
}
}