From 8f2bc1b07ce4150a878e80f5bce09e819cbfd414 Mon Sep 17 00:00:00 2001 From: "mkanat%kerio.com" <> Date: Thu, 12 May 2005 08:52:13 +0000 Subject: Bug 287436: [SECURITY] After having logged in, links to change the report type contain username and password Patch By Marc Schumann r=gerv, a=justdave --- Bugzilla/Auth/Login/WWW/CGI.pm | 2 ++ chart.cgi | 3 +-- userprefs.cgi | 11 +++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Bugzilla/Auth/Login/WWW/CGI.pm b/Bugzilla/Auth/Login/WWW/CGI.pm index d99cd3b80..98fd3a6d3 100644 --- a/Bugzilla/Auth/Login/WWW/CGI.pm +++ b/Bugzilla/Auth/Login/WWW/CGI.pm @@ -50,6 +50,8 @@ sub login { # First, try the actual login method against form variables my $username = $cgi->param("Bugzilla_login"); my $passwd = $cgi->param("Bugzilla_password"); + + $cgi->delete('Bugzilla_login', 'Bugzilla_password'); my $authmethod = Param("user_verify_class"); my ($authres, $userid, $extra, $info) = diff --git a/chart.cgi b/chart.cgi index 321c867fe..bc25d52e9 100755 --- a/chart.cgi +++ b/chart.cgi @@ -286,8 +286,7 @@ sub wrap { $vars->{'time'} = time(); $vars->{'imagebase'} = $cgi->canonicalise_query( - "action", "action-wrap", "ctype", "format", "width", "height", - "Bugzilla_login", "Bugzilla_password"); + "action", "action-wrap", "ctype", "format", "width", "height"); print $cgi->header(); $template->process("reports/chart.html.tmpl", $vars) diff --git a/userprefs.cgi b/userprefs.cgi index 9c2135eb3..1cf15868b 100755 --- a/userprefs.cgi +++ b/userprefs.cgi @@ -388,12 +388,19 @@ sub SaveSavedSearches() { # Live code (not subroutine definitions) starts here ############################################################################### +my $cgi = Bugzilla->cgi; + +# This script needs direct access to the username and password CGI variables, +# so we save them before their removal in Bugzilla->login +my $bugzilla_login = $cgi->param('Bugzilla_login'); +my $bugzilla_password = $cgi->param('Bugzilla_password'); + Bugzilla->login(LOGIN_REQUIRED); +$cgi->param('Bugzilla_login', $bugzilla_login); +$cgi->param('Bugzilla_password', $bugzilla_password); GetVersionTable(); -my $cgi = Bugzilla->cgi; - $vars->{'changes_saved'} = $cgi->param('dosave'); my $current_tab_name = $cgi->param('tab') || "account"; -- cgit v1.2.3-24-g4f1b