$OpenBSD: patch-libraries_RecentFavoriteTable_class_php,v 1.1 2014/07/03 13:13:59 giovanni Exp $
fix for CVE-2014-4348
--- libraries/RecentFavoriteTable.class.php.orig	Thu Jun 26 11:22:05 2014
+++ libraries/RecentFavoriteTable.class.php	Thu Jun 26 11:30:44 2014
@@ -203,36 +203,46 @@ class PMA_RecentFavoriteTable
             if ($this->_tableType == 'recent') {
                 foreach ($this->_tables as $table) {
                     $html .= '<li class="warp_link">';
-                    $html .= '<a href="sql.php?server=' . $GLOBALS['server']
-                          . '&db=' . $table['db']
-                          . '&table=' . $table['table']
-                          . '&token=' . $_SESSION[' PMA_token ']
-                          . '">`' . $table['db'] . '`.`' . $table['table'] . '`</a>';
+                    $recent_params = array(
+                        'db'    => $table['db'],
+                        'table' => $table['table']
+                    );
+                    $recent_url = 'sql.php'
+                        . PMA_URL_getCommon($recent_params);
+                    $html .= '<a href="' . $recent_url . '">`'
+                          . htmlspecialchars($table['db']) . '`.`'
+                          . htmlspecialchars($table['table']) . '`</a>';
                     $html .= '</li>';
                 }
             } else {
                 foreach ($this->_tables as $table) {
                     $html .= '<li class="warp_link">';
 
-                    $html .= '<a class="ajax favorite_table_anchor"';
-                    $fav_params = array('db' => $table['db'],
-                        'ajax_request' => true,
-                        'favorite_table' => $table['table'],
-                        'remove_favorite' => true);
+                    $html .= '<a class="ajax favorite_table_anchor" ';
+                    $fav_params = array(
+                        'db'              => $table['db'],
+                        'ajax_request'    => true,
+                        'favorite_table'  => $table['table'],
+                        'remove_favorite' => true
+                    );
                     $fav_rm_url = 'db_structure.php'
                         . PMA_URL_getCommon($fav_params);
                     $html .= 'href="' . $fav_rm_url
                         . '" title="' . __("Remove from Favorites")
-                        . '" data-favtargetn="' . $table['db'] . "." . $table['table']
+                        . '" data-favtargetn="' . md5($table['db'] . "." . $table['table'])
                         . '" >'
                         . PMA_Util::getIcon('b_favorite.png')
                         . '</a>';
 
-                    $html .= '<a href="sql.php?server=' . $GLOBALS['server']
-                          . '&db=' . $table['db']
-                          . '&table=' . $table['table']
-                          . '&token=' . $_SESSION[' PMA_token ']
-                          . '">`' . $table['db'] . '`.`' . $table['table'] . '`</a>';
+                    $fav_params = array(
+                        'db'    => $table['db'],
+                        'table' => $table['table']
+                    );
+                    $table_url = 'sql.php'
+                        . PMA_URL_getCommon($fav_params);
+                    $html .= '<a href="' . $table_url . '">`'
+                        . htmlspecialchars($table['db']) . '`.`'
+                        . htmlspecialchars($table['table']) . '`</a>';
                     $html .= '</li>';
                 }
             }
