Koha-clms/misc
David Cook d4431c19a6
Bug 40748: Check for HTTP URLs and skip shell when using system()
This change checks for HTTP(S) URLs and skips the shell when using
system() so that shell metacharacters aren't interpreted.

Test plan:
0. Apply the patch
1. Insert the following into the Babeltheque_url_update system preference:
$(whoami > /tmp/rce.log)
2. koha-shell kohadev
3. perl misc/cronjobs/social_data/update_social_data.pl
4. Note the script says the following:
$(whoami > /tmp/rce.log) is not a HTTP URL. Aborting.
5. Note also that /tmp/rce.log is not created
6. Change Babeltheque_url_update syspref to something like the following:
http://localhost:8080
7. perl misc/cronjobs/social_data/update_social_data.pl
8. Note that the wget succeeds but the bunzip2 fails (as expected) since
we haven't fetched a bzipped file
9. Try to create a payload that passes the HTTP URL test with shell
metacharacters and note that they're not interpetted and instead
just used as part of a URL string.

Signed-off-by: Jake Deery <jake.deery@openfifth.co.uk>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: wainuiwitikapark <wainuiwitikapark@catalyst.net.nz>
2025-09-26 13:57:00 +12:00
..
admin Bug 31325: Fix koha-preferences get 2022-08-16 09:11:40 -03:00
bin Bug 17600: Fix POSIX imports 2021-07-29 14:37:26 +02:00
cronjobs Bug 40748: Check for HTTP URLs and skip shell when using system() 2025-09-26 13:57:00 +12:00
devel Bug 36323: Move koha_perl_deps.pl to misc/devel 2024-03-25 08:03:56 +00:00
interface_customization Bug 23148: Replace Bridge icons with transparent PNG files 2020-07-20 16:16:37 +02:00
maintenance Bug 31143: (Follow-up) Add description to fix_invalid_dates.pl 2025-06-23 05:54:44 +00:00
migration_tools Bug 33339: Prevent Formula Injection (CSV Injection) in CSV files 2024-11-07 23:29:11 +00:00
release_notes Update release notes for 22.11.30 release 2025-08-26 19:45:08 +12:00
search_tools Bug 18984: Remove NORMARC support 2021-10-07 15:36:40 +02:00
translator Bug 35174: Remove .po files from Koha 2023-11-22 09:36:09 +01:00
workers Bug 35111: Ignore SIGPIPE in background jobs worker 2023-11-13 15:10:51 +00:00
add_date_fields_to_marc_records.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
add_statistics_borrowers_categorycode.pl Bug 32922: Remove space in shebang 2023-02-24 07:51:37 +00:00
batchCompareMARCvsFrameworks.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
batchDeleteUnusedSubfields.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
batchImportMARCWithBiblionumbers.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
batchRebuildBiblioTables.pl Bug 30813: Update TransformMarcToKoha to accept a hashref 2022-06-08 11:40:29 -03:00
batchRebuildItemsTables.pl Bug 29697: Use flag embed_items 2022-07-22 15:24:11 -03:00
batchRepairMissingBiblionumbers.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
batchdeletebiblios.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
check_sysprefs.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
commit_file.pl Bug 15869: Change framework on overlay 2023-02-08 16:34:09 +00:00
export_borrowers.pl Bug 33339: Prevent Formula Injection (CSV Injection) in CSV files 2024-11-07 23:29:11 +00:00
export_records.pl Bug 29811: Add timestamp option on authority record type 2023-11-13 15:28:47 +00:00
exportauth.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
import_patrons.pl Bug 34743: Fix POD description 2023-10-12 15:31:50 +00:00
koha-install-log Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
link_bibs_to_authorities.pl Bug 30024: Make link_bibs_to_authorities.pl rely on LinkerRelink 2023-11-14 13:41:06 -01:00
load_yaml.pl Bug 29207: Getopt::Long should not ignore cases 2021-10-25 14:08:06 +02:00
mod_zebraqueue.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
perlmodule_ls.pl
…
perlmodule_rm.pl Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
process_ill_updates.pl Bug 30484: Implement support for ILL request updates 2022-09-23 09:18:45 -03:00
recreateIssueStatistics.pl Bug 30275: Rename issues.renewals to issues.renewals_count 2022-07-05 09:45:55 -03:00
sax_parser_print.pl
…
sax_parser_test.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
sip_cli_emulator.pl Bug 34764: Set fee_acknowledged to expect a string 2023-10-12 15:31:48 +00:00
stage_file.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
z3950_responder.pl Bug 29207: Getopt::Long should not ignore cases 2021-10-25 14:08:06 +02:00