Koha-clms/t
Kyle M Hall 4c81c3262e Bug 33339: Prevent Formula Injection (CSV Injection) in CSV files
The system is vulnerable to Formula Injection attacks as the data
stored within the database and exported as CSV/Excel is not being
sanitized or validated against implanted formula payloads

This patch modifies all uses of Text::CSV and derived classes to pass
the "formula" parameter with value of "empty" which replaces formulas
by empty string.

Test Plan:
1) Apply this patch
2) For guided_reports.pl, attempt to export CSV where you've set a column to a formula somehow
   ( such as "=1+3" )
3) Export that CSV file
4) Note the formula has not been exported
5) Repeat this plan for the remaining scripts that export CSV files
   where users can define the outputted data

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Fixed two conflicts. I have tested that this works as advertised on:
- Reports (Download > Comma separated text (.csv)) [Text::CSV::Encoded]
- Circulation > Overdues > Download file of all overdues [Text::CSV_XS]
- misc/export_borrowers.pl [Text::CSV]
This covers all modules used, and both GUI and command line.

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Change none to empty in the commit message ! None is the default,
doing nothing. Empty clears the formulas.
Signed-off-by: wainuiwitikapark <wainuiwitikapark@catalyst.net.nz>
(cherry picked from commit 96152682bf)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2024-11-07 23:29:11 +00:00
..
Acquisition
…
Biblio
…
Budgets
…
Circulation
…
External
…
Koha Bug 37018: Unit tests 2024-07-23 12:46:20 +02:00
Members
…
Number
…
SIP
…
Search Bug 34969: Remove unneeded module from buildQuery.t 2023-10-17 17:11:32 +00:00
Serials
…
Test
…
cypress Bug 33606: Add a erm/config route to retrieve the ERM config needed for the Vue app 2023-11-13 15:10:55 +00:00
data Bug 31393: Koha::Config: handle the special case for 'content' attribute 2023-11-13 15:28:46 +00:00
db_dependent Bug 33339: Prevent Formula Injection (CSV Injection) in CSV files 2024-11-07 23:29:11 +00:00
edi_testfiles
…
etc
…
lib Bug 34943: (QA follow-up) Use `before_biblio_action` and an `action` param 2024-03-26 15:31:26 +01:00
00-check-atomic-updates.t Bug 31108: rename ./t/00-check-atomic-updates.pl extension to *.t 2022-07-06 16:40:51 -03:00
00-deprecated.t
…
00-load.t
…
00-merge-conflict-markers.t
…
00-testcritic.t Bug 34911: Test files from HEAD instead of 'master' 2023-10-17 16:56:23 +00:00
00-valid-xml.t
…
Auth.t
…
Auth_with_shibboleth.t Bug 31651: Adjust tests 2023-07-18 10:45:32 +00:00
AuthoritiesMarc_MARC21.t Bug 31023: Unit tests 2022-09-07 13:52:35 -07:00
AuthoritiesMarc_UNIMARC.t
…
Barcodes_EAN13.t
…
Barcodes_annual.t
…
Barcodes_hbyymmincr.t
…
Barcodes_incremental.t
…
Biblio.t Bug 29697: Use flag embed_items 2022-07-22 15:24:11 -03:00
Biblio2.t
…
Budgets.t
…
Charset.t
…
Circulation_barcodedecode.t Bug 30409: (QA follow-up) Avoid uninitialized variable warnings 2022-06-14 08:26:58 -03:00
ClassSortRoutine.t
…
ClassSortRoutine_Dewey.t
…
ClassSortRoutine_Generic.t
…
ClassSortRoutine_LCC.t
…
ClassSource.t
…
Context.t Bug 32478: (QA follow-up) Keep current hashref behavior 2023-07-18 08:58:45 +00:00
Contract.t
…
CookieManager.t Bug 31250: (QA follow-up) The future will be easier 2022-09-12 15:34:11 -03:00
Creators.t
…
DateUtils.t Bug 30717: (QA follow-up) Move to module 2022-05-13 15:41:55 -10:00
EdiInvoice.t
…
EdiTransport.t
…
Edifact.t
…
Ediorder.t Bug 31134: Mock EdifactLSQ for t/Edifact.t 2022-07-18 10:20:44 -03:00
Ediordrsp.t
…
Form_MessagingPreferences.t
…
HtmlTags.t
…
ImportBatch.t
…
Installer_PerlModules.t Bug 30731: Unit tests 2022-06-01 16:15:25 -03:00
ItemCirculationAlertPreference.t
…
Koha.t
…
Koha_MetadataRecord.t Bug 30813: (follow-up) Fix tests import 2022-06-08 13:41:14 -03:00
Koha_SearchEngine_Elasticsearch_Browse.t
…
Koha_Template_Plugin_Cache.t
…
Koha_Template_Plugin_HtmlId.t
…
Koha_Template_Plugin_Koha.t Bug 31401: (QA follow-up) Remove Koha.ArePluginsEnabled, it is no longer needed 2022-09-07 13:55:37 -07:00
Koha_Util_FrameworkPlugin.t
…
Koha_Util_MARC.t
…
Koha_XSLT_HTTPS.t Bug 12758: Introduce Koha::XSLT::HTTPS 2022-11-09 09:52:17 -03:00
Labels.t
…
Labels_split_Regex.t
…
Labels_split_ccn.t
…
Labels_split_ddcn.t
…
Labels_split_lccn.t
…
Languages.t
…
Logger.t Bug 32979: Skip test if running as root 2023-02-24 08:16:01 +00:00
Makefile.t Bug 31528: (QA follow-up) Exclude .stylelintrc.json in Makefile.t 2022-10-03 09:54:34 -03:00
Matcher.t Bug 28290: (follow-up) Unit test 2022-09-07 13:50:37 -07:00
Members_Messaging.t
…
OpenLibrarySearch.t
…
Output.t Bug 30524: Unit tests 2023-07-28 11:14:15 +00:00
Output_JSONStream.t
…
Patroncards.t
…
Patroncards_Batch.t
…
Patroncards_Lib.t
…
Patroncards_Patroncard.t
…
Patroncards_Profile.t
…
Patroncards_Template.t
…
RecordProcessor.t
…
Ris.t
…
SMS.t
…
Scheduler.t
…
Scrubber.t
…
Search.t Bug 34968: Remove unneeded module from Search.t 2023-10-17 17:11:32 +00:00
Search_PazPar2.t
…
SimpleMARC.t Bug 31644: (QA follow-up) Add two missing shebang lines 2022-10-24 11:53:19 -03:00
SocialData.t
…
Stats.t
…
SuggestionEngine.t
…
SuggestionEngine_AuthorityFile.t Bug 34970: Remove most modules from SuggestionEngine_AuthorityFile.t 2023-10-17 17:11:31 +00:00
TmplToken.t
…
Token.t Bug 34755: (Rmaint follow-up) Fix tests 2024-04-03 08:12:08 +00:00
XSLT.t
…
dummy.t
…
template_filters.t
…
timezones.t
…