From 93815fc7619567cc962e053280c5ed0b19492feb Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Sun, 15 Oct 2006 05:02:09 +0000 Subject: Bug 281181: [SECURITY] It's way too easy to delete versions/components/milestones etc... - Patch by Frédéric Buclin r=mkanat a=myk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- editparams.cgi | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'editparams.cgi') diff --git a/editparams.cgi b/editparams.cgi index 79063271a..cbce6405f 100755 --- a/editparams.cgi +++ b/editparams.cgi @@ -31,6 +31,7 @@ use Bugzilla::Config qw(:admin); use Bugzilla::Config::Common; use Bugzilla::Util; use Bugzilla::Error; +use Bugzilla::Token; my $user = Bugzilla->login(LOGIN_REQUIRED); my $cgi = Bugzilla->cgi; @@ -45,6 +46,7 @@ $user->in_group('tweakparams') object => "parameters"}); my $action = trim($cgi->param('action') || ''); +my $token = $cgi->param('token'); my $current_panel = $cgi->param('section') || 'core'; $current_panel =~ /^([A-Za-z0-9_-]+)$/; $current_panel = $1; @@ -66,6 +68,7 @@ foreach my $panel (Bugzilla::Config::param_panels()) { $vars->{panels} = \@panels; if ($action eq 'save' && $current_module) { + check_token_data($token, 'edit_parameters'); my @changes = (); my @module_param_list = "Bugzilla::Config::${current_module}"->get_param_list(1); @@ -125,7 +128,10 @@ if ($action eq 'save' && $current_module) { $vars->{'param_changed'} = \@changes; write_params(); + delete_token($token); } +$vars->{'token'} = issue_session_token('edit_parameters'); + $template->process("admin/params/editparams.html.tmpl", $vars) || ThrowTemplateError($template->error()); -- cgit v1.2.3-24-g4f1b