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.php |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_plugin.php b/program/include/rcube_plugin.php
index cce04cd..550c842 100644
--- a/program/include/rcube_plugin.php
+++ b/program/include/rcube_plugin.php
@@ -61,6 +61,14 @@
    */
   public $noframe = false;
 
+  /**
+   * A list of config option names that can be modified
+   * by the user via user interface (with save-pref command)
+   *
+   * @var array
+   */
+  public $allowed_prefs;
+
   protected $home;
   protected $urlbase;
   private $mytask;
@@ -147,8 +155,11 @@
     ob_start();
 
     foreach (array('en_US', $lang) as $lng) {
-      @include($locdir . $lng . '.inc');
-      $texts = (array)$labels + (array)$messages + (array)$texts;
+      $fpath = $locdir . $lng . '.inc';
+      if (is_file($fpath) && is_readable($fpath)) {
+        include($fpath);
+        $texts = (array)$labels + (array)$messages + (array)$texts;
+      }
     }
 
     ob_end_clean();

--
Gitblit v1.9.1