]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 754673 - CSRF vulnerability in query.cgi allows possible unauthorized use of...
authorReed Loden <reed@reedloden.com>
Tue, 29 May 2012 14:50:08 +0000 (07:50 -0700)
committerReed Loden <reed@reedloden.com>
Tue, 29 May 2012 14:50:08 +0000 (07:50 -0700)
[r=LpSolit a=LpSolit]

query.cgi
template/en/default/search/knob.html.tmpl

index 47be93125e5b7921f12d7feb87ab4b278e3cf9d7..df3d9cadf53d025e8d1aa859cb52149ccf8cc556 100755 (executable)
--- a/query.cgi
+++ b/query.cgi
@@ -20,6 +20,7 @@ use Bugzilla::Product;
 use Bugzilla::Keyword;
 use Bugzilla::Field;
 use Bugzilla::Install::Util qw(vers_cmp);
+use Bugzilla::Token;
 
 ###############
 # Subroutines #
@@ -72,6 +73,8 @@ my $userid = $user->id;
 
 if ($cgi->param('nukedefaultquery')) {
     if ($userid) {
+        my $token = $cgi->param('token');
+        check_hash_token($token, ['nukedefaultquery']);
         $dbh->do("DELETE FROM namedqueries" .
                  " WHERE userid = ? AND name = ?", 
                  undef, ($userid, DEFAULT_QUERY_NAME));
index 78479e7bfeec62e2d2d7d7e3df690c46c82479ea..723825a3c2aa33fe1e8c384bf3ec020804d75145 100644 (file)
@@ -62,7 +62,8 @@
         
 [% IF userdefaultquery %]
   <p>
-    <a href="query.cgi?nukedefaultquery=1">
+    <a href="query.cgi?nukedefaultquery=1&amp;token=
+       [%- issue_hash_token(['nukedefaultquery']) FILTER uri %]">
       Set my default search back to the system default</a>.
   </p>
 [% END %]