summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReed Loden <reed@reedloden.com>2012-05-29 16:50:08 +0200
committerReed Loden <reed@reedloden.com>2012-05-29 16:50:08 +0200
commit19b514899d02fde1c53916fe0c0a364548c6ab8d (patch)
tree90e1c43a55d5ba19e7308b8f9a28cb44025a8009
parenta196f9ce707424901a8d26262c441f56650784f8 (diff)
downloadbugzilla-19b514899d02fde1c53916fe0c0a364548c6ab8d.tar.gz
bugzilla-19b514899d02fde1c53916fe0c0a364548c6ab8d.tar.xz
Bug 754673 - CSRF vulnerability in query.cgi allows possible unauthorized use of "Set my default search back to the system default"
[r=LpSolit a=LpSolit]
-rwxr-xr-xquery.cgi3
-rw-r--r--template/en/default/search/knob.html.tmpl3
2 files changed, 5 insertions, 1 deletions
diff --git a/query.cgi b/query.cgi
index 47be93125..df3d9cadf 100755
--- 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));
diff --git a/template/en/default/search/knob.html.tmpl b/template/en/default/search/knob.html.tmpl
index 78479e7bf..723825a3c 100644
--- a/template/en/default/search/knob.html.tmpl
+++ b/template/en/default/search/knob.html.tmpl
@@ -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 %]