]> 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:31:21 +0000 (23:31 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Wed, 4 Aug 2010 21:31:21 +0000 (23:31 +0200)
r=mkanat a=LpSolit

Bugzilla/Search.pm

index d946d928d3fe8d49afa89f7a64ac86f7f5337137..7dabae93b1a80a9f824d19fe5c3328fccd7b295a 100644 (file)
@@ -1241,7 +1241,8 @@ sub _contact_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 $table = "user_group_map_$$chartid";
     push (@$supptables, "LEFT JOIN user_group_map AS $table " .
@@ -1313,7 +1314,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 "") {