Koha-clms/C4/Creators
Jonathan Druart a05d1d9be4
Bug 37720: Prevent XSS in label creator
Because labels/label-edit-batch.pl fills a DataTable with things that include
a link created by C4/Creators/Lib.pm, it outputs them with the $raw filter,
so HTML in author/title/callnumber is executed in the label batch editor.
While we wait for a fix that moves the link creation into the template and
out of C4, encoding HTML in Lib.pm for the bits going into the link, and
switching from $raw to the html filter for the rest of the things, will at
least get rid of the XSS.

Test plan:
 1. Without this patch, but with the patch from bug 37654 so you don't get
    alert()s in batch import, download attachment 170675 [details]
 2. Cataloging - Stage records for import - browse to the downloaded file -
    Upload file - when the upload finishes Stage for import - when staging
    finishes View batch (get alert()s if you didn't apply bug 37654) - Import
    this batch into the catalog
 3. Once the import finishes, Cataloging - Manage staged records
 4. In the row for your import, in the # Items column, click "(Create label
    batch)"
 5. In the "Label batch #n created" message, click the link to the batch #
 6. Because the batch includes a call number with an open <script>, you'll
    get XSS alert()s and then one about something going wrong while loading
    the table, with only one of the two records showing in the batch editor
 7. Apply patch, restart_all
 8. Cataloging - Label creator - Manage Label batches
 9. In the row for your batch, click Edit
10. You will see both labels, with their attempts at XSS visible as text
    rather than being interpreted as HTML

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-18 12:07:51 +02:00
..
Batch.pm Bug 32222: Fix capitalization in various "id is invalid" 2023-02-07 10:29:35 -03:00
Layout.pm Bug 10762: (QA follow-up) Perltidy 2023-10-25 10:35:31 -03:00
Lib.pm Bug 37720: Prevent XSS in label creator 2024-10-18 12:07:51 +02:00
PDF.pm Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
Profile.pm Bug 32222: Fix capitalization in various "id is invalid" 2023-02-07 10:29:35 -03:00
Template.pm Bug 32222: Fix capitalization in various "id is invalid" 2023-02-07 10:29:35 -03:00