Bug 31219: Prevent JS injection in patron extended attributes
We are sanitizing other attributes but "extended patron attributes".
Test plan:
Make a patron attribute editable at the OPAC
Edit an existing patron, or register a new one
Use a script tag in the new value ("<script>alert("booh!")</script>" for
instance)
With this patch the value is remove if containing an HTML tag that is
not br b i em big small strong (see C4::Scrubber)
Signed-off-by: Mark Hofstetter <koha@trust-box.at>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ddaa78bdab)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
This commit is contained in:
parent
66b25af88f
commit
40d22a14c6
|
|
@ -704,6 +704,7 @@ sub ParsePatronAttributes {
|
|||
|
||||
my $delete_candidates = {};
|
||||
|
||||
my $scrubber = C4::Scrubber->new();
|
||||
while ( my ( $code, $value ) = $ea->() ) {
|
||||
if ( any { $_ eq $code } @editable_attribute_types ) {
|
||||
# It is an editable attribute
|
||||
|
|
@ -713,7 +714,7 @@ sub ParsePatronAttributes {
|
|||
}
|
||||
else {
|
||||
# we've got a value
|
||||
push @attributes, { code => $code, attribute => $value };
|
||||
push @attributes, { code => $code, attribute => $scrubber->scrub( $value ) };
|
||||
|
||||
# 'code' is no longer a delete candidate
|
||||
delete $delete_candidates->{$code}
|
||||
|
|
|
|||
Loading…
Reference in New Issue