[pve-devel] [PATCH] Check only first part of script parameter for executability

Phillipp Röll pr at lima-city.de
Thu Oct 21 10:46:50 CEST 2021


When giving a script parameter including arguments to the dump process,
the full script parameter including the arguments is checked for
executablility. The following will always abort with a "not executable"
error:

vzdump 100 --script "/usr/local/bin/myscript.pl myarg"

If we split the script argument and check only the first part, the
check works as expected.
---
 PVE/VZDump.pm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
index 88ac11b3..fe1a7f23 100644
--- a/PVE/VZDump.pm
+++ b/PVE/VZDump.pm
@@ -630,7 +630,9 @@ sub run_hook_script {
     my $script = $opts->{script};
     return if !$script;
 
-    if (!-x $script) {
+    my @script_args = split /\s+/, $script;
+
+    if (!-x $script_args[0]) {
 	die "The hook script '$script' is not executable.\n";
     }
 
-- 
2.33.0




More information about the pve-devel mailing list