Bug 17028: Fix XSS in reserve/request.pl
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 2 Aug 2016 14:41:49 +0000 (15:41 +0100)
committerChris Cormack <chris@bigballofwax.co.nz>
Mon, 8 Aug 2016 06:54:56 +0000 (18:54 +1200)
Test plan:
Hit
  /cgi-bin/koha/reserve/request.pl?biblionumber=1"><script type="text/javascript">alert("XSS")</script>

=> Without this patch you will see the alert
=> With this patch, no more alert

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 66f81fc2101f194d39592bc28f3e2ff69764bc00)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
(cherry picked from commit 542c0dbbaa8bff5a101058e0e2397e21edf8f192)
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

reserve/request.pl

index 78d644b..73a519c 100755 (executable)
@@ -195,6 +195,7 @@ if ($multihold) {
 my $itemdata_enumchron = 0;
 my @biblioloop = ();
 foreach my $biblionumber (@biblionumbers) {
+    next unless $biblionumber =~ m|^\d+$|;
 
     my %biblioloopiter = ();