From: Frédéric Buclin Date: Wed, 4 Aug 2010 21:35:47 +0000 (+0200) Subject: Bug 417048: (CVE-2010-2756) [SECURITY] Boolean charts let me query for users being... X-Git-Tag: bugzilla-3.2.8~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8409e2efbbb5452dbb38d8fe1bb28923f70a8496;p=thirdparty%2Fbugzilla.git Bug 417048: (CVE-2010-2756) [SECURITY] Boolean charts let me query for users being in any given group r=mkanat a=LpSolit --- diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index c489a9b7b6..ad6abc3190 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -1036,7 +1036,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 = @{$user->flatten_group_membership($groupid)}; my $table = "user_group_map_$$chartid"; push (@$supptables, "LEFT JOIN user_group_map AS $table " . @@ -1108,7 +1109,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 = @{$user->flatten_group_membership($groupid)}; my $chartseq = $$chartid; if ($$chartid eq "") {