Hi, here is again a new patch (should be the last update) because the last one would escape passwords as well which should not be the case. Kind regards Nico
-- Nico Golde - http://ngolde.de - [EMAIL PROTECTED] - GPG: 0x73647CFF For security reasons, all text in this mail is double-rot13 encrypted.
diff -u gnatsweb-4.00/debian/changelog gnatsweb-4.00/debian/changelog
--- gnatsweb-4.00/debian/changelog
+++ gnatsweb-4.00/debian/changelog
@@ -1,3 +1,12 @@
+gnatsweb (4.00-1.1) unstable; urgency=high
+
+ * Non-maintainer upload by testing security team.
+ * Fixed missing escaping of the database parameter which leads
+ to a cross-site scripting vulnerability (XSS) via this
+ parameter (CVE-2007-2808) (Closes: # 427156).
+
+ -- Nico Golde <[EMAIL PROTECTED]> Sat, 06 Oct 2007 15:03:47 +0200
+
gnatsweb (4.00-1) unstable; urgency=low
* New upstream release.
only in patch2:
unchanged:
--- gnatsweb-4.00.orig/gnatsweb.pl
+++ gnatsweb-4.00/gnatsweb.pl
@@ -3981,6 +3981,19 @@
if defined($val);
}
+sub set_pref_esc
+{
+ my($pref_name, $pref_hashref, $cval_hashref) = @_;
+ my $val = $q->param($pref_name) || ($pref_name eq "password" ?
+ uncamouflage($$cval_hashref{$pref_name}) :
+ $$cval_hashref{$pref_name}
+ );
+
+ $$pref_hashref{$pref_name} = $q->escapeHTML($val)
+ if defined($val);
+}
+
+
# init_prefs -
# Initialize global_prefs and db_prefs from cookies and params.
#
@@ -4008,10 +4021,10 @@
}
%global_prefs = ();
- set_pref('database', \%global_prefs, \%cvals);
- set_pref('email', \%global_prefs, \%cvals);
- set_pref($ORIGINATOR_FIELD, \%global_prefs, \%cvals);
- set_pref($SUBMITTER_ID_FIELD, \%global_prefs, \%cvals);
+ set_pref_esc('database', \%global_prefs, \%cvals);
+ set_pref_esc('email', \%global_prefs, \%cvals);
+ set_pref_esc($ORIGINATOR_FIELD, \%global_prefs, \%cvals);
+ set_pref_esc($SUBMITTER_ID_FIELD, \%global_prefs, \%cvals);
# columns is treated differently because it's an array which is stored
# in the cookie as a joined string.
@@ -4041,7 +4054,7 @@
%cvals = $q->cookie("gnatsweb-db-$database");
}
%db_prefs = ();
- set_pref('user', \%db_prefs, \%cvals);
+ set_pref_esc('user', \%db_prefs, \%cvals);
set_pref('password', \%db_prefs, \%cvals);
# Debug.
pgpmv4TzzflYR.pgp
Description: PGP signature

