diff --git a/ChangeLog b/ChangeLog index 0aa2bf80e..a4780e848 100755 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,9 @@ phpMyAdmin - Changelog $Id$ $Source$ +2004-06-30 Marc Delisle + * left.php: fix against security alert, thanks to Garvin + 2004-06-30 Alexander M. Turek * libraries/common.lib.php: Fix against $_REQUEST['cfg'] exploits. diff --git a/Documentation.html b/Documentation.html index 28ef05b84..0cb4a5999 100755 --- a/Documentation.html +++ b/Documentation.html @@ -3766,6 +3766,41 @@ To create a new, empty mimetype please see libraries/transformations/template_ge

+

+ [8.2] Security alert, dated 2004-06-29. +

+

+ Last update of this FAQ: 2004-06-30. +

+ The phpMyAdmin development team received notice of this security alert: + http://securityfocus.com/archive/1/367486/2004-06-26/2004-07-02/0 +

+ We would like to put emphasis on the disappointment we feel when a + bugreporter does not contact the authors of a software first, before + posting any exploits. The common way to report this, is to give the + developers a reasonable amount of time to respond to an exploit before + it is made public. +

+ We acknowledge that phpMyAdmin versions 2.5.1 to 2.5.7 are vulnerable + to this problem, if each of the following conditions are met: +

+ +

+
+ Version 2.5.7-pl1 was released with a fix for this vulnerability. +


diff --git a/left.php b/left.php index 4397fec67..7c48b675b 100644 --- a/left.php +++ b/left.php @@ -45,6 +45,22 @@ require_once('./libraries/bookmark.lib.php'); require_once('./libraries/relation.lib.php'); $cfgRelation = PMA_getRelationsParam(); +function PMA_multimerge(&$stack, &$table) { +global $list_item, $table_item; + + $key = array_shift($table); + + if (count($table) > 0) { + if (!isset($stack[$key])) { + $stack[$key] = ''; + } + PMA_multimerge($stack[$key], $table); + } else { + $stack['pma_name'][] = $table_item; + $stack['pma_list_item'][] = $list_item; + } +} + function PMA_reduceNest($_table) { if ($GLOBALS['cfg']['LeftFrameTableLevel'] > 0) { @@ -52,7 +68,7 @@ function PMA_reduceNest($_table) { $temp_table = $_table; $new_table = array(); $last_index = 0; - for ($ti = 0; $ti < $max; $ti++) { + for ($ti = 0; $ti <= $max; $ti++) { if (isset($temp_table[$ti])) { $new_table[$ti] = $temp_table[$ti]; unset($temp_table[$ti]); @@ -325,7 +341,7 @@ echo "\n"; +?> ' . ''; - } + } ?>
@@ -423,7 +439,7 @@ if ($num_dbs > 1) { ' . "\n"; - echo ' ' . $strDatabase . ':
'; + echo ' ' . $strDatabase . ':
'; echo '