Your message dated Sat, 18 Jul 2020 13:07:00 +0100
with message-id 
<b8d89cdfeeda7b6d1ef96a8706a20f9525c2151b.ca...@adam-barratt.org.uk>
and subject line Closing requests for fixes included in 9.13 point release
has caused the Debian Bug report #944228,
regarding stretch-pu: package phpmyadmin/4:4.6.6-4+deb9u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
944228: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944228
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

This update fixes several security issues, plus an important bug.
Additionally we fix the metadata reflecting the maintainership change.

Here is the changelog, with debdiff attached.

phpmyadmin (4:4.6.6-4+deb9u1) stretch; urgency=medium

  [ Matthias Blümel ]
  * Several security fixes
    - Cross-site scripting (XSS) vulnerability in db_central_columns.php
      (PMASA-2018-1, CVE-2018-7260, Closes: #893539)
    - Remove transformation plugin includes
      (PMASA-2018-6, CVE-2018-19968)
    - Fix Stored Cross-Site Scripting (XSS) in navigation tree
      (PMASA-2018-8, CVE-2018-19970)
    - Fix information leak (arbitrary file read) using SQL queries
      (PMASA-2019-1, CVE-2019-6799, Closes: #920823)
    - a specially crafted username can be used to trigger a SQL injection attack
      (PMASA-2019-2, CVE-2019-6798, Closes: #920822)
    - SQL injection in Designer feature
      (PMASA-2019-3, CVE-2019-11768, Closes: #930048)
    - CSRF vulnerability in login form
      (PMASA-2019-4, CVE-2019-12616, Closes: #930017)
  * Set Vcs-* to point to salsa
  * Remove Thijs Kinkhorst and Michal Čihař from Uploaders. Thanks for all
    your work!

  [ Juri Grabowski ]
  * Fix Vcs- URLs

  [ William Desportes ]
  * Add debian gitlab pipelines config.

  [ Felipe Sateler ]
  * Set phpMyAdmin team as Maintainer

  [ Michal Čihař ]
  * Fix open_basedir setting for PHP 7 (Closes: #867882).

  > This is the non-security fix. THe default config was not updated for
  > changes in the php-gettext path for 7.0.


 -- Felipe Sateler <fsate...@debian.org>  Wed, 06 Nov 2019 08:12:18 -0300


Thanks for your consideration

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru phpmyadmin-4.6.6/debian/changelog phpmyadmin-4.6.6/debian/changelog
--- phpmyadmin-4.6.6/debian/changelog   2017-04-07 11:54:26.000000000 -0300
+++ phpmyadmin-4.6.6/debian/changelog   2019-11-06 08:12:18.000000000 -0300
@@ -1,3 +1,40 @@
+phpmyadmin (4:4.6.6-4+deb9u1) stretch; urgency=medium
+
+  [ Matthias Blümel ]
+  * Several security fixes
+    - Cross-site scripting (XSS) vulnerability in db_central_columns.php
+      (PMASA-2018-1, CVE-2018-7260, Closes: #893539)
+    - Remove transformation plugin includes
+      (PMASA-2018-6, CVE-2018-19968)
+    - Fix Stored Cross-Site Scripting (XSS) in navigation tree
+      (PMASA-2018-8, CVE-2018-19970)
+    - Fix information leak (arbitrary file read) using SQL queries
+      (PMASA-2019-1, CVE-2019-6799, Closes: #920823)
+    - a specially crafted username can be used to trigger a SQL injection 
attack
+      (PMASA-2019-2, CVE-2019-6798, Closes: #920822)
+    - SQL injection in Designer feature
+      (PMASA-2019-3, CVE-2019-11768, Closes: #930048)
+    - CSRF vulnerability in login form
+      (PMASA-2019-4, CVE-2019-12616, Closes: #930017)
+  * Set Vcs-* to point to salsa
+  * Remove Thijs Kinkhorst and Michal Čihař from Uploaders. Thanks for all
+    your work!
+
+  [ Juri Grabowski ]
+  * Fix Vcs- URLs
+
+  [ William Desportes ]
+  * Add debian gitlab pipelines config.
+
+  [ Felipe Sateler ]
+  * Set phpMyAdmin team as Maintainer
+
+  [ Michal Čihař ]
+  * Fix open_basedir setting for PHP 7 (Closes: #867882).
+
+
+ -- Felipe Sateler <fsate...@debian.org>  Wed, 06 Nov 2019 08:12:18 -0300
+
 phpmyadmin (4:4.6.6-4) unstable; urgency=medium
 
   * Build depend on locales-all to ensure en_US.UTF-8 is available (see
diff -Nru phpmyadmin-4.6.6/debian/conf/apache.conf 
phpmyadmin-4.6.6/debian/conf/apache.conf
--- phpmyadmin-4.6.6/debian/conf/apache.conf    2016-12-01 04:42:43.000000000 
-0300
+++ phpmyadmin-4.6.6/debian/conf/apache.conf    2019-11-06 08:12:18.000000000 
-0300
@@ -29,7 +29,7 @@
 
         php_value include_path .
         php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
-        php_admin_value open_basedir 
/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
+        php_admin_value open_basedir 
/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
         php_admin_value mbstring.func_overload 0
     </IfModule>
 
diff -Nru phpmyadmin-4.6.6/debian/control phpmyadmin-4.6.6/debian/control
--- phpmyadmin-4.6.6/debian/control     2017-04-07 11:54:23.000000000 -0300
+++ phpmyadmin-4.6.6/debian/control     2019-11-06 08:12:18.000000000 -0300
@@ -1,6 +1,8 @@
 Source: phpmyadmin
-Maintainer: Thijs Kinkhorst <th...@debian.org>
-Uploaders: Michal Čihař <ni...@debian.org>
+Maintainer: phpMyAdmin Packaging Team <team+phpmyad...@tracker.debian.org>
+Uploaders: Felipe Sateler <fsate...@debian.org>,
+ Matthias Blümel <deb...@blaimi.de>,
+ William Desportes <william...@wdes.fr>
 Section: web
 Priority: extra
 Standards-Version: 3.9.8
@@ -19,8 +21,8 @@
     php-phpseclib (>= 2.0),
     po-debconf
 Homepage: https://www.phpmyadmin.net/
-Vcs-Browser: https://anonscm.debian.org/git/collab-maint/phpmyadmin.git
-Vcs-Git: https://anonscm.debian.org/git/collab-maint/phpmyadmin.git
+Vcs-Browser: https://salsa.debian.org/phpmyadmin-team/phpmyadmin
+Vcs-Git: https://salsa.debian.org/phpmyadmin-team/phpmyadmin.git
 
 Package: phpmyadmin
 Architecture: all
diff -Nru phpmyadmin-4.6.6/debian/gbp.conf phpmyadmin-4.6.6/debian/gbp.conf
--- phpmyadmin-4.6.6/debian/gbp.conf    2016-06-23 02:51:16.000000000 -0400
+++ phpmyadmin-4.6.6/debian/gbp.conf    2019-11-06 08:12:18.000000000 -0300
@@ -3,3 +3,4 @@
 [DEFAULT]
 sign-tags = True
 pristine-tar = True
+debian-branch = stretch
diff -Nru phpmyadmin-4.6.6/debian/gitlab-ci.yml 
phpmyadmin-4.6.6/debian/gitlab-ci.yml
--- phpmyadmin-4.6.6/debian/gitlab-ci.yml       1969-12-31 21:00:00.000000000 
-0300
+++ phpmyadmin-4.6.6/debian/gitlab-ci.yml       2019-11-06 08:12:18.000000000 
-0300
@@ -0,0 +1,8 @@
+include:
+  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
+  - 
https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+    RELEASE: 'stretch'
+    SALSA_CI_DISABLE_AUTOPKGTEST: 1
+    SALSA_CI_DISABLE_REPROTEST: 1
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2018-19968.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2018-19968.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2018-19968.patch        1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2018-19968.patch        2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,239 @@
+Description: Remove transformation plugin includes
+ Tranformation plugins should be loaded by the autoloader.
+ Fixes CVE-2018-19968. This patch is based on upstream patch:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/6a1ba61e29002f0305a9322a8af4eaaeb11c0732
+Author: Lucas Kanashiro <kanash...@debian.org>, Matthias Blümel 
<matthias.blue...@krumedia.com>
+Last-Updated: 2019-05-31
+
+--- a/libraries/insert_edit.lib.php
++++ b/libraries/insert_edit.lib.php
+@@ -2188,20 +2188,22 @@
+         $transform_options['wrapper_link']
+             = PMA_URL_getCommon($_url_params);
+         $class_name = PMA_getTransformationClassName($include_file);
+-        /** @var TransformationsPlugin $transformation_plugin */
+-        $transformation_plugin = new $class_name();
++        if (class_exists($class_name)) {
++            /** @var TransformationsPlugin $transformation_plugin */
++            $transformation_plugin = new $class_name();
+ 
+-        foreach ($edited_values as $cell_index => $curr_cell_edited_values) {
+-            if (isset($curr_cell_edited_values[$column_name])) {
+-                $edited_values[$cell_index][$column_name]
+-                    = $extra_data['transformations'][$cell_index]
++            foreach ($edited_values as $cell_index => 
$curr_cell_edited_values) {
++                if (isset($curr_cell_edited_values[$column_name])) {
++                    $edited_values[$cell_index][$column_name]
++                        = $extra_data['transformations'][$cell_index]
+                         = $transformation_plugin->applyTransformation(
+-                            $curr_cell_edited_values[$column_name],
+-                            $transform_options,
+-                            ''
+-                        );
+-            }
+-        }   // end of loop for each transformation cell
++                        $curr_cell_edited_values[$column_name],
++                        $transform_options,
++                        ''
++                    );
++                }
++            }   // end of loop for each transformation cell
++        }
+     }
+     return $extra_data;
+ }
+@@ -2888,35 +2890,36 @@
+         $file = $column_mime['input_transformation'];
+         $include_file = 'libraries/plugins/transformations/' . $file;
+         if (is_file($include_file)) {
+-            include_once $include_file;
+             $class_name = PMA_getTransformationClassName($include_file);
+-            $transformation_plugin = new $class_name();
+-            $transformation_options = PMA_Transformation_getOptions(
+-                $column_mime['input_transformation_options']
+-            );
+-            $_url_params = array(
+-                'db'            => $db,
+-                'table'         => $table,
+-                'transform_key' => $column['Field'],
+-                'where_clause'  => $where_clause
+-            );
+-            $transformation_options['wrapper_link']
+-                = PMA_URL_getCommon($_url_params);
+-            $current_value = '';
+-            if (isset($current_row[$column['Field']])) {
+-                $current_value = $current_row[$column['Field']];
+-            }
+-            if (method_exists($transformation_plugin, 'getInputHtml')) {
+-                $transformed_html = $transformation_plugin->getInputHtml(
+-                    $column, $row_id, $column_name_appendix,
+-                    $transformation_options, $current_value, $text_dir,
+-                    $tabindex, $tabindex_for_value, $idindex
++            if (class_exists($class_name)) {
++                $transformation_plugin = new $class_name();
++                $transformation_options = PMA_Transformation_getOptions(
++                    $column_mime['input_transformation_options']
+                 );
+-            }
+-            if (method_exists($transformation_plugin, 'getScripts')) {
+-                $GLOBALS['plugin_scripts'] = array_merge(
+-                    $GLOBALS['plugin_scripts'], 
$transformation_plugin->getScripts()
++                $_url_params = array(
++                    'db' => $db,
++                    'table' => $table,
++                    'transform_key' => $column['Field'],
++                    'where_clause' => $where_clause
+                 );
++                $transformation_options['wrapper_link']
++                    = PMA_URL_getCommon($_url_params);
++                $current_value = '';
++                if (isset($current_row[$column['Field']])) {
++                    $current_value = $current_row[$column['Field']];
++                }
++                if (method_exists($transformation_plugin, 'getInputHtml')) {
++                    $transformed_html = $transformation_plugin->getInputHtml(
++                        $column, $row_id, $column_name_appendix,
++                        $transformation_options, $current_value, $text_dir,
++                        $tabindex, $tabindex_for_value, $idindex
++                    );
++                }
++                if (method_exists($transformation_plugin, 'getScripts')) {
++                    $GLOBALS['plugin_scripts'] = array_merge(
++                        $GLOBALS['plugin_scripts'], 
$transformation_plugin->getScripts()
++                    );
++                }
+             }
+         }
+     }
+--- a/libraries/transformations.lib.php
++++ b/libraries/transformations.lib.php
+@@ -179,9 +179,10 @@
+     $include_file = 'libraries/plugins/transformations/' . $file;
+     /* @var $class_name PMA\libraries\plugins\TransformationsInterface */
+     $class_name = PMA_getTransformationClassName($include_file);
+-    // include and instantiate the class
+-    include_once $include_file;
+-    return $class_name::getInfo();
++    if (class_exists($class_name)) {
++        return $class_name::getInfo();
++    }
++    return '';
+ }
+ 
+ /**
+@@ -196,9 +197,10 @@
+     $include_file = 'libraries/plugins/transformations/' . $file;
+     /* @var $class_name PMA\libraries\plugins\TransformationsInterface */
+     $class_name = PMA_getTransformationClassName($include_file);
+-    // include and instantiate the class
+-    include_once $include_file;
+-    return $class_name::getName();
++    if (class_exists($class_name)) {
++        return $class_name::getInfo();
++    }
++    return '';
+ }
+ 
+ /**
+--- a/libraries/DisplayResults.php
++++ b/libraries/DisplayResults.php
+@@ -3049,28 +3049,29 @@
+ 
+                     if (file_exists($include_file)) {
+ 
+-                        include_once $include_file;
+                         $class_name = 
PMA_getTransformationClassName($include_file);
+-                        // todo add $plugin_manager
+-                        $plugin_manager = null;
+-                        $transformation_plugin = new $class_name(
+-                            $plugin_manager
+-                        );
++                        if (class_exists($class_name)) {
++                            // todo add $plugin_manager
++                            $plugin_manager = null;
++                            $transformation_plugin = new $class_name(
++                                $plugin_manager
++                            );
+ 
+-                        $transform_options  = PMA_Transformation_getOptions(
+-                            isset(
+-                                $mime_map[$orgFullColName]
++                            $transform_options = 
PMA_Transformation_getOptions(
++                                isset(
++                                    $mime_map[$orgFullColName]
++                                    ['transformation_options']
++                                )
++                                    ? $mime_map[$orgFullColName]
+                                 ['transformation_options']
+-                            )
+-                            ? $mime_map[$orgFullColName]
+-                            ['transformation_options']
+-                            : ''
+-                        );
++                                    : ''
++                            );
+ 
+-                        $meta->mimetype = str_replace(
+-                            '_', '/',
+-                            $mime_map[$orgFullColName]['mimetype']
+-                        );
++                            $meta->mimetype = str_replace(
++                                '_', '/',
++                                $mime_map[$orgFullColName]['mimetype']
++                            );
++                        }
+ 
+                     } // end if file_exists
+                 } // end if transformation is set
+--- a/tbl_replace.php
++++ b/tbl_replace.php
+@@ -217,28 +217,29 @@
+             $filename = 'libraries/plugins/transformations/'
+                 . $mime_map[$column_name]['input_transformation'];
+             if (is_file($filename)) {
+-                include_once $filename;
+                 $classname = PMA_getTransformationClassName($filename);
+-                /** @var IOTransformationsPlugin $transformation_plugin */
+-                $transformation_plugin = new $classname();
+-                $transformation_options = PMA_Transformation_getOptions(
+-                    $mime_map[$column_name]['input_transformation_options']
+-                );
+-                $current_value = $transformation_plugin->applyTransformation(
+-                    $current_value, $transformation_options
+-                );
+-                // check if transformation was successful or not
+-                // and accordingly set error messages & insert_fail
+-                if (method_exists($transformation_plugin, 'isSuccess')
+-                    && !$transformation_plugin->isSuccess()
+-                ) {
+-                    $insert_fail = true;
+-                    $row_skipped = true;
+-                    $insert_errors[] = sprintf(
+-                        __('Row: %1$s, Column: %2$s, Error: %3$s'),
+-                        $rownumber, $column_name,
+-                        $transformation_plugin->getError()
++                if (class_exists($classname)) {
++                    /** @var IOTransformationsPlugin $transformation_plugin */
++                    $transformation_plugin = new $classname();
++                    $transformation_options = PMA_Transformation_getOptions(
++                        
$mime_map[$column_name]['input_transformation_options']
+                     );
++                    $current_value = 
$transformation_plugin->applyTransformation(
++                        $current_value, $transformation_options
++                    );
++                    // check if transformation was successful or not
++                    // and accordingly set error messages & insert_fail
++                    if (method_exists($transformation_plugin, 'isSuccess')
++                        && !$transformation_plugin->isSuccess()
++                    ) {
++                        $insert_fail = true;
++                        $row_skipped = true;
++                        $insert_errors[] = sprintf(
++                            __('Row: %1$s, Column: %2$s, Error: %3$s'),
++                            $rownumber, $column_name,
++                            $transformation_plugin->getError()
++                        );
++                    }
+                 }
+             }
+         }
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2018-19970.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2018-19970.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2018-19970.patch        1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2018-19970.patch        2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,17 @@
+Description: Fix Stored Cross-Site Scripting (XSS) in navigation tree
+ Fixes CVE-2018-19970. This patch is based on upstream patch:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/b293ff5f234ef493336ed8638f623a12164d359e
+Author: Lucas Kanashiro <kanash...@debian.org>, Matthias Blümel 
<matthias.blue...@krumedia.com>
+Last-Updated: 2019-05-31
+
+--- a/libraries/navigation/NavigationTree.php
++++ b/libraries/navigation/NavigationTree.php
+@@ -761,7 +761,7 @@
+                 }
+ 
+                 $groups[$key] = new Node(
+-                    $key,
++                    htmlspecialchars($key),
+                     Node::CONTAINER,
+                     true
+                 );
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2018-7260.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2018-7260.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2018-7260.patch 1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2018-7260.patch 2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,20 @@
+Description: Cross-site scripting (XSS) vulnerability in 
db_central_columns.php in phpMyAdmin before 4.7.8 allows
+ remote authenticated users to inject arbitrary web script or HTML via a 
crafted URL.
+ Fixes CVE-2019-7260. This patch is based on upstream patch:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/d2886a3e8745e8845633ae8a0054b5ee4d8babd5
+Author: Matthias Blümel <matthias.blue...@krumedia.com>
+Last-Updated: 2019-05-31
+
+--- a/db_central_columns.php
++++ b/db_central_columns.php
+@@ -87,7 +87,9 @@
+     parse_str($_POST['col_name'], $col_name);
+     $tmp_msg = PMA_deleteColumnsFromList($col_name['selected_fld'], false);
+ }
+-if (isset($_REQUEST['total_rows']) && $_REQUEST['total_rows']) {
++if (!empty($_REQUEST['total_rows'])
++    && PMA_isValid($_REQUEST['total_rows'], 'integer')
++) {
+     $total_rows = $_REQUEST['total_rows'];
+ } else {
+     $total_rows = PMA_getCentralColumnsCount($db);
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2019-11768.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2019-11768.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2019-11768.patch        1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2019-11768.patch        2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,21 @@
+Description: A vulnerability was reported where a specially crafted database 
name can be
+ used to trigger an SQL injection attack through the designer feature.
+ Fix CVE-2019-11768
+
+ This patch is based on upstream patches:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/c1ecafc38319e8f768c9259d4d580e42acd5ee86
+
+Author: Matthias Blümel <bla...@blaimi.de>
+Last-Updated: 2019-06-05
+
+--- a/js/pmd/move.js
++++ b/js/pmd/move.js
+@@ -735,7 +735,7 @@
+ 
+         var $form = $('<form action="db_designer.php" method="post" 
name="save_page" id="save_page" class="ajax"></form>')
+             .append('<input type="hidden" name="server" value="' + server + 
'" />')
+-            .append('<input type="hidden" name="db" value="' + db + '" />')
++            .append($('<input type="hidden" name="db" />').val(db))
+             .append('<input type="hidden" name="token" value="' + token + '" 
/>')
+             .append('<input type="hidden" name="operation" value="savePage" 
/>')
+             .append('<input type="hidden" name="save_page" value="new" />')
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2019-12616.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2019-12616.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2019-12616.patch        1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2019-12616.patch        2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,46 @@
+Description: A vulnerability was found that allows an attacker to trigger a 
CSRF attack against a phpMyAdmin user. The attacker can trick the user, for 
instance through a broken <img> tag pointing at the victim's phpMyAdmin 
database, and the attacker can potentially deliver a payload (such as a 
specific INSERT or DELETE statement) through the victim.
+
+ This patch is based on upstream patch:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/015c404038c44279d95b6430ee5a0dddc97691ec
+
+Author: Matthias Blümel <bla...@blaimi.de>
+Last-Updated: 2019-06-05
+
+--- a/libraries/plugins/auth/AuthenticationCookie.php
++++ b/libraries/plugins/auth/AuthenticationCookie.php
+@@ -295,7 +295,7 @@
+         $GLOBALS['PHP_AUTH_USER'] = $GLOBALS['PHP_AUTH_PW'] = '';
+         $GLOBALS['from_cookie'] = false;
+ 
+-        if (! empty($_REQUEST['pma_username'])) {
++        if (! empty($_POST['pma_username'])) {
+ 
+             // Verify Captcha if it is required.
+             if (! empty($GLOBALS['cfg']['CaptchaLoginPrivateKey'])
+@@ -339,10 +339,10 @@
+             }
+ 
+             // The user just logged in
+-            $GLOBALS['PHP_AUTH_USER'] = 
PMA_sanitizeMySQLUser($_REQUEST['pma_username']);
+-            $GLOBALS['PHP_AUTH_PW']   = empty($_REQUEST['pma_password'])
++            $GLOBALS['PHP_AUTH_USER'] = 
PMA_sanitizeMySQLUser($_POST['pma_username']);
++            $GLOBALS['PHP_AUTH_PW']   = empty($_POST['pma_password'])
+                 ? ''
+-                : $_REQUEST['pma_password'];
++                : $_POST['pma_password'];
+             if ($GLOBALS['cfg']['AllowArbitraryServer']
+                 && isset($_REQUEST['pma_servername'])
+             ) {
+--- a/libraries/common.inc.php
++++ b/libraries/common.inc.php
+@@ -739,8 +739,8 @@
+                 . ' ' . $cfg['Server']['auth_type']
+             );
+         }
+-        if (isset($_REQUEST['pma_password']) && 
strlen($_REQUEST['pma_password']) > 256) {
+-            $_REQUEST['pma_password'] = substr($_REQUEST['pma_password'], 0, 
256);
++        if (isset($_POST['pma_password']) && strlen($_POST['pma_password']) > 
256) {
++            $_POST['pma_password'] = substr($_POST['pma_password'], 0, 256);
+         }
+         $fqnAuthClass = 'PMA\libraries\plugins\auth\\' . $auth_class;
+         // todo: add plugin manager
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2019-6798.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2019-6798.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2019-6798.patch 1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2019-6798.patch 2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,35 @@
+Description: An issue was discovered in phpMyAdmin before 4.8.5. A 
vulnerability was reported
+ where a specially crafted username can be used to trigger a SQL injection 
attack through the designer feature.
+ Fix CVE-2019-6798
+ https://www.phpmyadmin.net/security/PMASA-2019-2/
+
+ This patch is based on upstream patch:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/469934cf7d3bd19a839eb78670590f7511399435
+Author: Matthias Blümel <matthias.blue...@krumedia.com>
+Last-Updated: 2019-05-31
+
+--- a/libraries/db_designer.lib.php
++++ b/libraries/db_designer.lib.php
+@@ -193,7 +193,8 @@
+             . PMA\libraries\Util::backquote($cfgRelation['db']) . '.'
+             . PMA\libraries\Util::backquote($cfgRelation['designer_settings'])
+             . ' WHERE ' . PMA\libraries\Util::backquote('username') . ' = "'
+-            . $GLOBALS['cfg']['Server']['user'] . '";';
++            . $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['user'])
++            . '";';
+ 
+         $result = $GLOBALS['dbi']->fetchSingleRow($query);
+ 
+--- a/libraries/pmd_common.php
++++ b/libraries/pmd_common.php
+@@ -766,8 +766,8 @@
+                 . PMA\libraries\Util::backquote($cfgDesigner['db'])
+                 . "." . PMA\libraries\Util::backquote($cfgDesigner['table'])
+                 . " (username, settings_data)"
+-                . " VALUES('" . $cfgDesigner['user'] . "',"
+-                . " '" . json_encode($save_data) . "');";
++                . " VALUES('" . 
$GLOBALS['dbi']->escapeString($cfgDesigner['user'])
++                . "', '" . json_encode($save_data) . "');";
+ 
+             $success = PMA_queryAsControlUser($query);
+         }
diff -Nru phpmyadmin-4.6.6/debian/patches/CVE-2019-6799.patch 
phpmyadmin-4.6.6/debian/patches/CVE-2019-6799.patch
--- phpmyadmin-4.6.6/debian/patches/CVE-2019-6799.patch 1969-12-31 
21:00:00.000000000 -0300
+++ phpmyadmin-4.6.6/debian/patches/CVE-2019-6799.patch 2019-11-06 
08:12:18.000000000 -0300
@@ -0,0 +1,78 @@
+Description: Fix information leak (arbitrary file read) using SQL queries
+ Fix CVE-2019-6799
+ https://www.phpmyadmin.net/security/PMASA-2019-1/
+
+ This patch is based on upstream patches:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/c5e01f84ad48c5c626001cb92d7a95500920a900
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/aeac90623e525057a7672ab3d98154b5c57c15ec
+ Avoid regression in 'Table > Import > Load CSV with LOAD DATA' by backporting:
+ 
https://github.com/phpmyadmin/phpmyadmin/commit/d02d61ada7c8e29753fd37440b511a1088efb060
+
+ Note: mitigated by /etc/phpmyadmin/apache.conf's open_basedir:
+ - php5-mysql: open_basedir fully disables LOAD DATA LOCAL INFILE;
+ - php5-mysqlnd: open_basedir is respected but some sensitive files
+   remain accessible, notably '/etc/phpmyadmin/config-db.php'.
+
+ Note: nothing to do with AllowArbitraryServer, works on local MySQL server as 
well.
+
+ Note: https://bugs.php.net/bug.php?id=77496 applies php5-mysqlnd but not 
php5-mysql.
+ Also phmymadmin 4.2.12 unconditionally enables LOCAL DATA LOCAL INFILE.
+
+Author: Sylvain Beucler <b...@debian.org>, Matthias Blümel 
<matthias.blue...@krumedia.com>
+Last-Updated: 2019-05-31
+
+--- a/import.php
++++ b/import.php
+@@ -12,6 +12,11 @@
+     define('PMA_ENABLE_LDI', 1);
+ }
+ 
++/* Enable LOAD DATA LOCAL INFILE for LDI plugin */
++if (isset($_POST['format']) && $_POST['format'] == 'ldi') {
++    define('PMA_ENABLE_LDI', 1);
++}
++
+ /**
+  * Get the variables sent or posted to this script and a core script
+  */
+--- a/libraries/dbi/DBIMysql.php
++++ b/libraries/dbi/DBIMysql.php
+@@ -52,6 +52,10 @@
+     ) {
+         global $cfg;
+ 
++        if (ini_get('mysql.allow_local_infile')) {
++            PMA_fatalError(__('Please disable mysql.allow_local_infile in 
your PHP configuration or install the mysqli extension.'));
++        }
++
+         if (empty($client_flags)) {
+             if ($cfg['PersistentConnections'] || $persistent) {
+                 $link = @mysql_pconnect($server, $user, $password);
+--- a/libraries/dbi/DBIMysqli.php
++++ b/libraries/dbi/DBIMysqli.php
+@@ -137,12 +137,6 @@
+ 
+         $link = mysqli_init();
+ 
+-        if (defined('PMA_ENABLE_LDI')) {
+-            mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, true);
+-        } else {
+-            mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, false);
+-        }
+-
+         $client_flags = 0;
+ 
+         /* Optionally compress connection */
+@@ -224,6 +218,12 @@
+             return false;
+         }
+ 
++        if (defined('PMA_ENABLE_LDI')) {
++            mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, true);
++        } else {
++            mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, false);
++        }
++
+         return $link;
+     }
+ 
diff -Nru phpmyadmin-4.6.6/debian/patches/series 
phpmyadmin-4.6.6/debian/patches/series
--- phpmyadmin-4.6.6/debian/patches/series      2017-04-07 11:33:36.000000000 
-0300
+++ phpmyadmin-4.6.6/debian/patches/series      2019-11-06 08:12:18.000000000 
-0300
@@ -1,2 +1,9 @@
 Truncate-only-long-passwords.patch
 debian.patch
+CVE-2018-7260.patch
+CVE-2018-19968.patch
+CVE-2018-19970.patch
+CVE-2019-6798.patch
+CVE-2019-6799.patch
+CVE-2019-11768.patch
+CVE-2019-12616.patch
diff -Nru phpmyadmin-4.6.6/debian/rules phpmyadmin-4.6.6/debian/rules
--- phpmyadmin-4.6.6/debian/rules       2017-04-07 11:54:23.000000000 -0300
+++ phpmyadmin-4.6.6/debian/rules       2019-11-06 08:12:18.000000000 -0300
@@ -11,7 +11,16 @@
        # We exclude:
        # - selenium tests as the setup would be too complex
        # - some network based tests
+       
+       # Disable broken tests
+       sed -i "s/testAuthCheckArbitrary/t___AuthCheckArbitrary/g" 
test/classes/plugin/auth/AuthenticationCookieTest.php
+       sed -i "s/testAuthCheckCaptcha/t___AuthCheckCaptcha/g" 
test/classes/plugin/auth/AuthenticationCookieTest.php
        LC_ALL=en_US.UTF-8 phpunit --config phpunit.xml.nocoverage 
--exclude-group selenium --exclude-group network
+       SUITE_CODE=$$?
+       # Reset code as found before
+       sed -i "s/t___AuthCheckArbitrary/testAuthCheckArbitrary/g" 
test/classes/plugin/auth/AuthenticationCookieTest.php                       
+       sed -i "s/t___AuthCheckCaptcha/testAuthCheckCaptcha/g" 
test/classes/plugin/auth/AuthenticationCookieTest.php
+       exit $$SUITE_CODE
 
 override_dh_auto_clean:
 

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 9.13

Hi,

All of these requests relate to updates that were included in today's
stretch point release.

Regards,

Adam

--- End Message ---

Reply via email to