]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 417048: (CVE-2010-2756) [SECURITY] Boolean charts let me query for users being...
authorFrédéric Buclin <LpSolit@gmail.com>
Wed, 4 Aug 2010 21:29:18 +0000 (23:29 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Wed, 4 Aug 2010 21:29:18 +0000 (23:29 +0200)
r=mkanat a=LpSolit

Bugzilla/Search.pm

index f93743e2a2c682cc6acf504b5e56880e5f14529a..42e73f770534eed27e51b13111b2e7b3c53023b0 100644 (file)
@@ -1459,7 +1459,8 @@ sub _contact_exact_group {
     $$v =~ /\%group\.([^%]+)%/;
     my $group = $1;
     my $groupid = Bugzilla::Group::ValidateGroupName( $group, ($user));
-    $groupid || ThrowUserError('invalid_group_name',{name => $group});
+    ($groupid && $user->in_group_id($groupid))
+      || ThrowUserError('invalid_group_name',{name => $group});
     my @childgroups = @{Bugzilla::Group->flatten_group_membership($groupid)};
     my $table = "user_group_map_$$chartid";
     push (@$supptables, "LEFT JOIN user_group_map AS $table " .
@@ -1525,7 +1526,8 @@ sub _cc_exact_group {
     $$v =~ m/%group\.([^%]+)%/;
     my $group = $1;
     my $groupid = Bugzilla::Group::ValidateGroupName( $group, ($user));
-    $groupid || ThrowUserError('invalid_group_name',{name => $group});
+    ($groupid && $user->in_group_id($groupid))
+      || ThrowUserError('invalid_group_name',{name => $group});
     my @childgroups = @{Bugzilla::Group->flatten_group_membership($groupid)};
     my $chartseq = $$chartid;
     if ($$chartid eq "") {