From 8f501234a26736c72cadc5329bd2a3fd54bf17c5 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Wed, 23 Dec 2015 03:23:34 +0000 Subject: Bug 1229894 - Backport bug upstream 1221518 to bmo/4.2 [SECURITY] XSS in dependency graphs when displaying the bug summary --- showdependencygraph.cgi | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'showdependencygraph.cgi') diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi index 4fc1b9386..24f3b8469 100755 --- a/showdependencygraph.cgi +++ b/showdependencygraph.cgi @@ -74,7 +74,7 @@ sub CreateImagemap { # Pick up bugid from the mapdata label field. Getting the title from # bugtitle hash instead of mapdata allows us to get the summary even # when showsummary is off, and also gives us status and resolution. - my $bugtitle = html_quote(clean_text($bugtitles{$bugid})); + my $bugtitle = $bugtitles{$bugid}; $map .= qq{bug $bugid\n}; @@ -190,13 +190,16 @@ foreach my $k (keys(%seen)) { # Retrieve bug information from the database my ($stat, $resolution, $summary) = $dbh->selectrow_array($sth, undef, $k); + $vars->{'short_desc'} = $summary if ($k eq $cgi->param('id')); + # Resolution and summary are shown only if user can see the bug - if (!Bugzilla->user->can_see_bug($k)) { + if (Bugzilla->user->can_see_bug($k)) { + $summary = html_quote(clean_text($summary)); + } + else { $resolution = $summary = ''; } - $vars->{'short_desc'} = $summary if ($k eq $cgi->param('id')); - my @params; if ($summary ne "" && $cgi->param('showsummary')) { -- cgit v1.2.3-24-g4f1b